You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by smallufo <sm...@gmail.com> on 2010/07/21 17:07:01 UTC
[wicketstuff-push] NPE when CometdService.initBayeux()
Hi , I am trying Wicketstuff-push with a small chat program , but encounter
this problem :
org.apache.wicket.WicketRuntimeException: Method onFormSubmitted of
interface org.apache.wicket.markup.html.form.IFormSubmitListener targeted at
component [MarkupContainer [Component id = sayForm]] threw an exception
at
org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:193)
at
org.apache.wicket.request.target.component.listener.ListenerInterfaceRequestTarget.processEvents(ListenerInterfaceRequestTarget.java:73)
at
org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:92)
at
org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1250)
at org.apache.wicket.RequestCycle.step(RequestCycle.java:1329)
at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1428)
at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)
at
org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:479)
at
org.apache.wicket.protocol.http.WicketServlet.doPost(WicketServlet.java:160)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:158)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:96)
at
com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:109)
at
destiny.webapp.filters.FilterUserAgent.doFilter(FilterUserAgent.java:29)
at
com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:88)
at
org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:113)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at
com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:88)
at
org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:113)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at
com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:88)
at
org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:83)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at
com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:88)
at
com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:183)
at
com.caucho.server.webapp.AccessLogFilterChain.doFilter(AccessLogFilterChain.java:103)
at
com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:286)
at
com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:789)
at
com.caucho.network.listen.TcpSocketLink.dispatchRequest(TcpSocketLink.java:660)
at
com.caucho.network.listen.TcpSocketLink.handleRequestsImpl(TcpSocketLink.java:624)
at
com.caucho.network.listen.TcpSocketLink.handleRequests(TcpSocketLink.java:575)
at
com.caucho.network.listen.TcpSocketLink$AcceptTask.doTask(TcpSocketLink.java:1183)
at
com.caucho.network.listen.TcpSocketLink$ConnectionReadTask.runThread(TcpSocketLink.java:1118)
at
com.caucho.network.listen.TcpSocketLink$AcceptTask.run(TcpSocketLink.java:1150)
at
com.caucho.util.ThreadPool$PoolThread.runTasks(ThreadPool.java:901)
at com.caucho.util.ThreadPool$PoolThread.run(ThreadPool.java:866)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:182)
... 34 more
Caused by: java.lang.NullPointerException
at
org.wicketstuff.push.cometd.CometdService.initBayeux(CometdService.java:184)
at
org.wicketstuff.push.cometd.CometdService.getBayeux(CometdService.java:161)
at
org.wicketstuff.push.cometd.CometdService.publish(CometdService.java:155)
at
destiny.wicket.chatroom.ChatPanel$SayForm.onSubmit(ChatPanel.java:603)
at
org.apache.wicket.markup.html.form.Form.delegateSubmit(Form.java:1538)
at org.apache.wicket.markup.html.form.Form.process(Form.java:934)
at
org.apache.wicket.markup.html.form.Form.onFormSubmitted(Form.java:896)
... 39 more
After tracing some code , it seems _bayeux cannot be initialized in
CometdService.initBayeux() ,
and that's because it cannot find an attribute "org.cometd.bayeux" in
ServletContext.
But I didn't find any code that setAttribute("org.cometd.bayeux" ,
something) in ContinuationCometdServlet
Did I miss anything ?
Here is my configurations :
web.xml :
<servlet>
<servlet-name>cometd</servlet-name>
<servlet-class>org.mortbay.cometd.continuation.ContinuationCometdServlet</servlet-class>
<init-param>
<param-name>timeout</param-name>
<param-value>60000</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>cometd</servlet-name>
<url-pattern>/cometd/*</url-pattern>
</servlet-mapping>
lib/ :
wicket-1.4.9.jar
push-1.4.7.jar
cometd-api-1.1.1.jar
cometd-server-6.1.22.jar
servlet-container : resin 4.0.7