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 goupilpie...@gmail.com 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 emond.papega...@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-nameorg.atmosphere.useWebSocket/param-name
  param-valueFALSE/param-value
  /init-param
 
  in my web.xml.
 
  Regards,
 
  Pierre
 
  On Wed, Aug 8, 2012 at 5:43 PM, Pierre Goupil 
  goupilpie...@gmail.comwrote:
   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
  
   

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:
 
 init-param
 param-nameorg.atmosphere.useWebSocket/param-name
 param-valueFALSE/param-value
 /init-param
 
 in my web.xml.
 
 Regards,
 
 Pierre
 
 On Wed, Aug 8, 2012 at 5:43 PM, Pierre Goupil goupilpie...@gmail.comwrote:
  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
  
  

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 emond.papega...@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-nameorg.atmosphere.useWebSocket/param-name
  param-valueFALSE/param-value
  /init-param
 
  in my web.xml.
 
  Regards,
 
  Pierre
 
  On Wed, Aug 8, 2012 at 5:43 PM, Pierre Goupil goupilpie...@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
  

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:

init-param
param-nameorg.atmosphere.useWebSocket/param-name
param-valueFALSE/param-value
/init-param

in my web.xml.

Regards,

Pierre




On Wed, Aug 8, 2012 at 5:43 PM, Pierre Goupil goupilpie...@gmail.comwrote:

 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)
 {