Nginx-Clojure は組み込みのクロージャー、あるいはJavaまたはGroovyプログラムのためのNGINXモジュールです。一般的にそれらのRing <ring-clojure/ring/blob/master/SPEC>ハンドラに基づいています。
Javaハンドラについての簡単な例です。
nginx.conf 内で
location /myJava {
handler_type 'java';
handler_name 'mytest.Hello';
}
Hello.java内で
package mytest;
import static nginx.clojure.MiniConstants.*;
import java.util.HashMap;
import java.util.Map;
public class Hello implements NginxJavaRingHandler {
@Override
public Object[] invoke(Map<String, Object> request) {
return new Object[] {
NGX_HTTP_OK, //http status 200
ArrayMap.create(CONTENT_TYPE, "text/plain"), //headers map
"Hello, Java & NGINX!" //response body can be string, File or Array/Collection of them
}
}
}
詳細は nginx-clojure.github.ioで見つかります