Skip to content
This repository has been archived by the owner on Feb 3, 2018. It is now read-only.

kwo/mojaha

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

86 Commits
 
 
 
 
 
 
 
 

Repository files navigation

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

Stars

Watchers

Forks

Packages

No packages published

Languages