Re: [6.0] wicket-atmosphere

2012-08-22 Thread Pierre Goupil
Good afternoon,

Is there any way to have Comet channels using the wicket-atmosphere
API? For instance, with the Broadcaster API, you could use a
MetaBroadcaster which used to have a broadcasterID parameter.

I can't figure out how to integrate that in my wicket-atmosphere code
and the JavaDoc from EventBus#post() reads:

"Post an event to *all* pages that have a suspended connection".

Any help will be much appreciated!

Regards,

Pierre Goupil





On Thu, Aug 9, 2012 at 10:17 AM, Pierre Goupil  wrote:
>
> 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  
> 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:
>> >
>> > 
>> > org.atmosphere.useWebSocket
>> > FALSE
>> > 
>> >
>> > in my web.xml.
>> >
>> > Regards,
>> >
>> > Pierre
>> >
>> > On Wed, Aug 8, 2012 at 5:43 PM, Pierre Goupil 
>> > 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.(Session.java:211)
>> > > at
>> > >
>> > > org.apache.wicket.protocol.http.WebSession.(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.

Re: [6.0] wicket-atmosphere

2012-08-09 Thread Pierre Goupil
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  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:
> >
> > 
> > org.atmosphere.useWebSocket
> > FALSE
> > 
> >
> > in my web.xml.
> >
> > Regards,
> >
> > Pierre
> >
> > On Wed, Aug 8, 2012 at 5:43 PM, Pierre Goupil  >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.(Session.java:211)
> > > at
> > >
> > > org.apache.wicket.protocol.http.WebSession.(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.con

Re: [6.0] wicket-atmosphere

2012-08-09 Thread Emond Papegaaij
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:
> 
> 
> org.atmosphere.useWebSocket
> FALSE
> 
> 
> in my web.xml.
> 
> Regards,
> 
> Pierre
> 
> On Wed, Aug 8, 2012 at 5:43 PM, Pierre Goupil 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.(Session.java:211)
> > at
> > 
> > org.apache.wicket.protocol.http.WebSession.(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.onOp

Re: [6.0] wicket-atmosphere

2012-08-08 Thread Pierre Goupil
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:


org.atmosphere.useWebSocket
FALSE


in my web.xml.

Regards,

Pierre




On Wed, Aug 8, 2012 at 5:43 PM, Pierre Goupil 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.(Session.java:211)
> at
> org.apache.wicket.protocol.http.WebSession.(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.printS