Опитвам се да конфигурирам Atmosphere и това е, което получавам, когато публикувам събитие в EventBus
java.lang.IllegalStateException: MeteorServlet not defined in web.xml
at org.atmosphere.cpr.Meteor.build(Meteor.java:170) ~[atmosphere-runtime-1.0.8.jar:1.0.8]
at org.atmosphere.cpr.Meteor.build(Meteor.java:151) ~[atmosphere-runtime-1.0.8.jar:1.0.8]
at org.atmosphere.cpr.Meteor.build(Meteor.java:137) ~[atmosphere-runtime-1.0.8.jar:1.0.8]
at org.atmosphere.cpr.Meteor.build(Meteor.java:124) ~[atmosphere-runtime-1.0.8.jar:1.0.8]
at org.apache.wicket.atmosphere.AtmosphereBehavior.onResourceRequested(AtmosphereBehavior.java:107) ~[wicket-atmosphere-0.7.jar:0.7]
... 56 common frames omitted
Използвам Wicket, това е реализация на AjaxButton onSubmit:
public void onSubmit(AjaxRequestTarget target, Form<?> form) {
EventBus.get().post(message.getModelObject());
}
Конфигурирам Atmosphere с помощта на Guice. В моето внедряване на ServletModule:
Map<String, String> params = new HashMap<String, String>();
params.put("applicationClassName", "org.mycompany.MyWebApplication");
params.put(ApplicationConfig.PROPERTY_SERVLET_MAPPING, "/session/**");
params.put(ApplicationConfig.PROPERTY_SESSION_SUPPORT, "true");
params.put(ApplicationConfig.WEBSOCKET_PROTOCOL, "org.atmosphere.websocket.protocol.EchoProtocol");
params.put(ApplicationConfig.BROADCAST_FILTER_CLASSES, "org.apache.wicket.atmosphere.TrackMessageSizeFilter");
filter("/session/**").through(AtmosphereFilter.class, params);
Това е моята атмосфера.xml:
<atmosphere-handler context-root="/session/**"
class-name="org.atmosphere.handler.ReflectorServletProcessor">
</atmosphere-handler>
Искам да конфигурирам филтри програмно, мога ли да го направя с атмосферни филтри? Ако да, какво правя погрешно?