Handlersってどこでセットしているかというと、、、
web.xml内で、handlers名をサーブレット毎にセットしてて、
各サーブレットはセットされたhandlers名にマッチするHandlersのjava.util.Setを使うらしい。
付属のweb.xmlを見ると、
$ grep -Hi handlers java/server/target/shindig-server-1.1-SNAPSHOT/WEB-INF/web.full.xml
java/server/target/shindig-server-1.1-SNAPSHOT/WEB-INF/web.full.xml: <param-name>handlers</param-name>
java/server/target/shindig-server-1.1-SNAPSHOT/WEB-INF/web.full.xml: <param-value>org.apache.shindig.social.handlers</param-value>
java/server/target/shindig-server-1.1-SNAPSHOT/WEB-INF/web.full.xml: <param-name>handlers</param-name>
java/server/target/shindig-server-1.1-SNAPSHOT/WEB-INF/web.full.xml: <param-value>org.apache.shindig.social.handlers</param-value>
java/server/target/shindig-server-1.1-SNAPSHOT/WEB-INF/web.full.xml: <param-name>handlers</param-name>
java/server/target/shindig-server-1.1-SNAPSHOT/WEB-INF/web.full.xml: <param-value>org.apache.shindig.gadgets.handlers</param-value>
java/server/target/shindig-server-1.1-SNAPSHOT/WEB-INF/web.full.xml: <param-name>handlers</param-name>
java/server/target/shindig-server-1.1-SNAPSHOT/WEB-INF/web.full.xml: <param-value>org.apache.shindig.gadgets.handlers</param-value>
となっているので、使われているhandlers名は
* org.apache.shindig.social.handlers
* org.apache.shindig.gadgets.handlers
の2つっぽい。
で、
何がorg.apache.shindig.social.handlersという名はどのハンドラか
というと
org.apache.shindig.social.core.config.SocialApiGuiceModuleクラスに定義されている。
protected Set<Object> getHandlers() {
return ImmutableSet.<Object>of(ActivityHandler.class, AppDataHandler.class,
PersonHandler.class, MessageHandler.class);
}
ソースから判断するに、ハンドラは、
* org.apache.shindig.social.opensocial.service.ActivityHandler
* org.apache.shindig.social.opensocial.service.AppDataHandler
* org.apache.shindig.social.opensocial.service.MessageHandler
* org.apache.shindig.social.opensocial.service.PersonHandler
の4つ。
何がorg.apache.shindig.gadgets.handlersのハンドラか
というと、
org.apache.shindig.gadgets.DefaultGuiceModuleを見れば分かるかも。
bind(new TypeLiteral<Set<Object>>(){}).annotatedWith(
Names.named("org.apache.shindig.gadgets.handlers"))
.toInstance(ImmutableSet.<Object>of(InvalidationHandler.class, HttpRequestHandler.class));
とのこと。
つまり、
* org.apache.shindig.gadgets.http.InvalidationHandler
* org.apache.shindig.gadgets.servlet.HttpRequestHandler
の2つっぽい。
org.apache.shindig.social.handlersを使っているサーブレット
org.apache.shindig.social.handlersを使っているサーブレットは、
* socialRestapiServlet
* socialJsonRpcServlet
の2つ。
org.apache.shindig.gadgets.handlersを使っているサーブレット
org.apache.shindig.gadgets.handlersを使っているサーブレットは、
* gadgetsJsonRpcServlet
* gadgetsRestapiServlet
の2つ。
うーん・・。
gadgetsとsocialの2つあるのはなぜ??
.