Martin Grigorov-4 wrote
> 
> Pastebin you code.
> 

While cleaning up the code to post it here I found a timer.stop() where it
should not be. After removing it, everything works as it should do. That is,
I create a new timer whenever the form is submitted, and add it to my
textarea component. The timer starts working, as well as the background
thread. When the latter is finished, I stop the timer and remove it from the
textarea from within the timer's onTimer() method. 
I have noted that I need to stop the timer before I remove it. Otherwise I
get the exception below. It is really not a problem to stop the timer, but
since I am removing it anyway, I wonder if it should strictly be necessary
to do it. 

Cheers,
Humberto


ERROR - DefaultExceptionMapper     - Unexpected error occurred
org.apache.wicket.WicketRuntimeException: Method onRequest of interface
org.apache.wicket.behavior.IBehaviorListener targeted at
com.telenor.claudia.web.gui.Index$StatusTimer@95ef17 on component [TextArea
[Component id = feedbackPanel]] threw an exception
        at
org.apache.wicket.RequestListenerInterface.internalInvoke(RequestListenerInterface.java:270)
        at
org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:241)
        at
org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.invokeListener(ListenerInterfaceRequestHandler.java:255)
        at
org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.respond(ListenerInterfaceRequestHandler.java:234)
        at
org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:750)
        at
org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
        at
org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:252)
        at
org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:209)
        at
org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:280)
        at
org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:162)
        at
org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:218)
        at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
        at 
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
        at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
        at 
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
        at 
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
        at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
        at 
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
        at org.mortbay.jetty.Server.handle(Server.java:324)
        at 
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
        at
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:829)
        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
        at
org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
        at
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488)
Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at
org.apache.wicket.RequestListenerInterface.internalInvoke(RequestListenerInterface.java:260)
        ... 25 more
Caused by: java.lang.IllegalStateException: Behavior must be added to
component before its id can be generated. Behavior:
com.telenor.claudia.web.gui.Index$StatusTimer@95ef17, Component:
org.apache.wicket.Behaviors@d91987
        at org.apache.wicket.Behaviors.getBehaviorId(Behaviors.java:252)
        at org.apache.wicket.Component.getBehaviorId(Component.java:4436)
        at org.apache.wicket.Component.urlFor(Component.java:3292)
        at
org.apache.wicket.behavior.AbstractAjaxBehavior.getCallbackUrl(AbstractAjaxBehavior.java:89)
        at
org.apache.wicket.ajax.AbstractAjaxTimerBehavior.getCallbackScript(AbstractAjaxTimerBehavior.java:125)
        at
org.apache.wicket.ajax.AbstractAjaxTimerBehavior.getJsTimeoutCall(AbstractAjaxTimerBehavior.java:118)
        at
org.apache.wicket.ajax.AbstractAjaxTimerBehavior.respond(AbstractAjaxTimerBehavior.java:155)
        at
org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:316)
        ... 29 more


--
View this message in context: 
http://apache-wicket.1842946.n4.nabble.com/Update-component-after-background-thread-is-finished-tp4300126p4306383.html
Sent from the Users forum mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to