Skip to content
This repository has been archived by the owner. It is now read-only.
Branch: master
Go to file
Code

Latest commit

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
src
 
 
 
 
 
 
 
 

README.md

mojaha: Mongrel2 Java Handler


Java handler for the Mongrel2 web server. mojaha is a ZeroMQ-based library that can read requests and send responses to Mongrel2. It aims for similarity but not compatibility with the Servlet API while also supporting asynchronous communications.

Example

Mongrel2Handler handler = new Mongrel2Handler(SENDER_ID, RECV_ADDR, SEND_ADDR);
handler.setActive(true);
while (handler.isActive()) {
	HttpRequest req = new HttpRequest();
	HttpResponse rsp = new HttpResponse();
	handler.takeRequest(req); // wait until next request arrives
	rsp.setContent("Hello, world!\n");
	// rsp.setContent("Hello, world!\n".getBytes("UTF-8"));
	rsp.setStatus(HttpStatus.OK);
	handler.sendResponse(rsp, req); // multiple requests may be given here
}

Features

  • Supports asynchronous HTTP.
  • The mojaha JAR itself is executable and will simply print out version information to the console.

Requirements

  • Java 1.6 JDK
  • Maven 2 +
  • jzmq: the Java bindings for ZeroMQ. As jzmq is not in the maven repositories, it will need to be built and installed locally before compiling mojaha.

Building and Installing

First, download jzmq and build it as follows:

cd jzmq
./autogen.sh
./configure
make
mvn clean install

If you run into trouble, check the jzmq project readme.

Now, build the mojaha JAR as follows:

cd mojaha
mvn clean install

A JAR file will be generated in the mojaha/target directory named mojaha-VERSION.jar.

Running

Run your application with mojaha as follows:

java -cp YourApp.jar:mojaha-VERSION.jar your.App

Related Projects

About

NO LONGER MAINTAINED

Resources

Languages

You can’t perform that action at this time.