wicket-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Pierre Goupil <goupilpie...@gmail.com>
Subject Re: [6.0] wicket-atmosphere
Date Thu, 09 Aug 2012 08:17:39 GMT
Thanks!!! I'll have a close look at your ticket. And yes, I use Tomcat
(7.0.29). I know it's all beta code, so no worries.

Regards,

Pierre



On Thu, Aug 9, 2012 at 10:02 AM, Emond Papegaaij <emond.papegaaij@topicus.nl
> wrote:

> We've noticed this problem as well. It only happens on Tomcat. I'm not sure
> what is going on, but it all starts with Tomcat loosing query parameters on
> the ws-request ("url/?0-1.IBehaviorListener.0-" is changed to "url"). This
> makes it impossible for wicket to recognize the call to a behavior,
> causing a
> redirect to a new page on the ws-request, which is not allowed.
>
> The question is, is this a bug in Tomcat, Atmosphere or wicket-atmosphere.
> I
> would say it's a bug in Atmosphere. I've created a ticket for this:
> https://github.com/Atmosphere/atmosphere/issues/553
>
> For now, using jetty is a work around.
>
> Best regards,
> Emond
>
> On Wednesday 08 August 2012 20:59:10 Pierre Goupil wrote:
> > 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 <goupilpierre@gmail.com
> >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.j
> > > ava:536)>
> > >     at
> > >
> > >
> org.apache.wicket.Application.fetchCreateAndSetSession(Application.java:15
> > > 57)>
> > >     at org.apache.wicket.Session.get(Session.java:152)
> > >     at
> > >
> > >
> org.apache.wicket.RestartResponseAtInterceptPageException$InterceptData.ge
> > > t(RestartResponseAtInterceptPageException.java:146)>
> > >     at
> > >
> > >
> org.apache.wicket.RestartResponseAtInterceptPageException$1.matchedData(Re
> > > startResponseAtInterceptPageException.java:211)>
> > >     at
> > >
> > >
> org.apache.wicket.RestartResponseAtInterceptPageException$1.getCompatibili
> > > tyScore(RestartResponseAtInterceptPageException.java:179)>
> > >     at
> > >
> > >
> org.apache.wicket.request.mapper.CompoundRequestMapper.mapRequest(Compound
> > > RequestMapper.java:134)>
> > >     at
> > >
> > >
> org.apache.wicket.request.cycle.RequestCycle.resolveRequestHandler(Request
> > > Cycle.java:182)>
> > >     at
> > >
> > >
> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.j
> > > ava:207)>
> > >     at
> > >
> > >
> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(Reque
> > > stCycle.java:281)>
> > >     at
> > >
> > >
> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.j
> > > ava:188)>
> > >     at
> > >
> > >
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:24
> > > 5)>
> > >     at
> > >
> > >
> org.atmosphere.util.AtmosphereFilterChain.doFilter(AtmosphereFilterChain.j
> > > ava:154)>
> > >     at
> > >
> > >
> org.atmosphere.util.AtmosphereFilterChain.invokeFilterChain(AtmosphereFilt
> > > erChain.java:131)>
> > >     at
> > >
> > >
> org.atmosphere.handler.ReflectorServletProcessor$FilterChainServletWrapper
> > > .service(ReflectorServletProcessor.java:310)>
> > >     at
> > >
> > >
> org.atmosphere.handler.ReflectorServletProcessor.onRequest(ReflectorServle
> > > tProcessor.java:168)>
> > >     at
> > >
> > >
> org.atmosphere.cpr.AsynchronousProcessor.action(AsynchronousProcessor.java
> > > :248)>
> > >     at
> > >
> > >
> org.atmosphere.cpr.AsynchronousProcessor.suspended(AsynchronousProcessor.j
> > > ava:166)>
> > >     at
> > >
> > >
> org.atmosphere.container.TomcatWebSocketUtil.doService(TomcatWebSocketUtil
> > > .java:120)>
> > >     at
> > >
> > >
> org.atmosphere.container.Tomcat7BIOSupportWithWebSocket.service(Tomcat7BIO
> > > SupportWithWebSocket.java:57)>
> > >     at
> > >
> > >
> org.atmosphere.cpr.AtmosphereFramework.doCometSupport(AtmosphereFramework.
> > > java:1222)>
> > >     at
> > >
> > >
> org.atmosphere.websocket.WebSocketProcessor.dispatch(WebSocketProcessor.ja
> > > va:187)>
> > >     at
> > >
> > >
> org.atmosphere.websocket.WebSocketProcessor.dispatch(WebSocketProcessor.ja
> > > va:116)>
> > >     at
> > >
> > >
> org.atmosphere.container.TomcatWebSocketHandler.onOpen(TomcatWebSocketHand
> > > ler.java:58)>
> > >     at
> > >
> > >
> org.apache.catalina.websocket.StreamInbound.onUpgradeComplete(StreamInboun
> > > d.java:228)>
> > >     at
> > >
> > >
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(Abstr
> > > actProtocol.java:593)>
> > >     at
> > >
> > >
> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.jav
> > > a: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.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
>


-- 
Le bonheur n'est pas une destination, mais une façon de voyager.

Papa d'une petite Lou-Ann depuis le 30 juin.

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message