Hello,
It looks like a problem with the WebSockets. I've tried to provide a
Locale, but no way:
class MySession extends WebSession
{
private static final long serialVersionUID = 1L;
public MySession(final Request req)
{
super(req);
}
@Override
public void setLocale(final Locale locale)
{
super.setLocale(new Locale("en", "GB"));
}
}
and in my WicketApplication:
@Override
public Session newSession( final Request req, final Response res ) {
return new MySession(req);
}
It all gives me the same error.
BUT if I deactivate the WebSockets, it works:
<init-param>
<param-name>org.atmosphere.useWebSocket</param-name>
<param-value>FALSE</param-value>
</init-param>
in my web.xml.
Regards,
Pierre
On Wed, Aug 8, 2012 at 5:43 PM, Pierre Goupil <[email protected]>wrote:
> Good afternoon,
>
> I'm currently trying and have wicket-atmosphere work. I've looked at the
> examples and I'm unable to post a message because of this exception:
>
>
> INFO - EventBus - registering component for page 0 for
> session 971E81ED0E61970FA35A1B03E5B218F8:
> ERROR - DefaultExceptionMapper - Unexpected error occurred
> java.lang.IllegalStateException: Request#getLocale() cannot return null,
> request has to have a locale set on it
> at org.apache.wicket.Session.<init>(Session.java:211)
> at
> org.apache.wicket.protocol.http.WebSession.<init>(WebSession.java:92)
> at
> org.apache.wicket.protocol.http.WebApplication.newSession(WebApplication.java:536)
> at
> org.apache.wicket.Application.fetchCreateAndSetSession(Application.java:1557)
> at org.apache.wicket.Session.get(Session.java:152)
> at
> org.apache.wicket.RestartResponseAtInterceptPageException$InterceptData.get(RestartResponseAtInterceptPageException.java:146)
> at
> org.apache.wicket.RestartResponseAtInterceptPageException$1.matchedData(RestartResponseAtInterceptPageException.java:211)
> at
> org.apache.wicket.RestartResponseAtInterceptPageException$1.getCompatibilityScore(RestartResponseAtInterceptPageException.java:179)
> at
> org.apache.wicket.request.mapper.CompoundRequestMapper.mapRequest(CompoundRequestMapper.java:134)
> at
> org.apache.wicket.request.cycle.RequestCycle.resolveRequestHandler(RequestCycle.java:182)
> at
> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:207)
> at
> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:281)
> at
> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:188)
> at
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:245)
> at
> org.atmosphere.util.AtmosphereFilterChain.doFilter(AtmosphereFilterChain.java:154)
> at
> org.atmosphere.util.AtmosphereFilterChain.invokeFilterChain(AtmosphereFilterChain.java:131)
> at
> org.atmosphere.handler.ReflectorServletProcessor$FilterChainServletWrapper.service(ReflectorServletProcessor.java:310)
> at
> org.atmosphere.handler.ReflectorServletProcessor.onRequest(ReflectorServletProcessor.java:168)
> at
> org.atmosphere.cpr.AsynchronousProcessor.action(AsynchronousProcessor.java:248)
> at
> org.atmosphere.cpr.AsynchronousProcessor.suspended(AsynchronousProcessor.java:166)
> at
> org.atmosphere.container.TomcatWebSocketUtil.doService(TomcatWebSocketUtil.java:120)
> at
> org.atmosphere.container.Tomcat7BIOSupportWithWebSocket.service(Tomcat7BIOSupportWithWebSocket.java:57)
> at
> org.atmosphere.cpr.AtmosphereFramework.doCometSupport(AtmosphereFramework.java:1222)
> at
> org.atmosphere.websocket.WebSocketProcessor.dispatch(WebSocketProcessor.java:187)
> at
> org.atmosphere.websocket.WebSocketProcessor.dispatch(WebSocketProcessor.java:116)
> at
> org.atmosphere.container.TomcatWebSocketHandler.onOpen(TomcatWebSocketHandler.java:58)
> at
> org.apache.catalina.websocket.StreamInbound.onUpgradeComplete(StreamInbound.java:228)
> at
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:593)
> at
> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
> at java.lang.Thread.run(Thread.java:679)
>
>
>
>
> My code is pretty straight-forward, but just in case, here is the
> Application:
>
> @Override
> public void init()
> {
> super.init();
>
> eventBus = new EventBus(this);
>
> ScheduledExecutorService scheduler =
> Executors.newScheduledThreadPool(1);
> final Runnable beeper = new Runnable()
> {
> @Override
> public void run()
> {
> try
> {
> eventBus.post(new Date());
> }
> catch (Exception e)
> {
> e.printStackTrace();
> }
> }
> };
> scheduler.scheduleWithFixedDelay(beeper, 2, 2, TimeUnit.SECONDS);
> }
>
>
>
>
> And here is the code that should trigger but that doesn't:
>
> public HomePage(final PageParameters parameters)
> {
> super(parameters);
>
> timeLabel = new Label("version", Model.of("-"));
> timeLabel.setOutputMarkupId(true);
> add(timeLabel);
> }
>
> @Subscribe
> public void updateTime(AjaxRequestTarget target, Date event)
> {
> timeLabel.setDefaultModelObject(event.toString());
> target.add(timeLabel);
> }
>
>
> I'm using Wicket-6.0.0-beta3 and its wicket-atmosphere 0.2.
>
> Thanks in advance,
>
> Pierre
>
>
>
>
> --
> Le bonheur n'est pas une destination, mais une façon de voyager.
>
> Papa d'une petite Lou-Ann depuis le 30 juin.
>
>
--
Le bonheur n'est pas une destination, mais une façon de voyager.
Papa d'une petite Lou-Ann depuis le 30 juin.