Hello,

I'm currently developing wicket based application, which displays alarms on map 
and allows their modification.
New alarms are sent to server through soap service and map with few other 
components on page for all browser clients needs to be refreshed.

I'm using wicketstuff-push for the push service implementation.
org.wicketstuff.push.timer.TimerPushService to be clear.



As an in examples I have method on wicket page which is activated when server 
sends notification about an event:
            // set new listener for incoming events
                                final IPushTarget pushTarget = 
getTimerPushService().installPush(this);
                                getPushService().addMapListener(new 
MapServiceListener() {
            public void onEventChange(final Event event) {
                                                                if 
(pushTarget.isConnected()) {
                    Label label = new Label("labelonpage","label"); //label to 
be replaced
                    pushTarget.addComponent(label);
                    pushTarget.trigger();
                }
                else { // remove inactive listener
                                                                                
LOG.debug("Removing map listener " + this);
                                                                                
getPushService().removeMapListener(this);
                                                                }
            ...

Problems start with line :
Label label = new Label("labelonpage","label");

which results with:
org.apache.wicket.WicketRuntimeException: There is no application attached to 
current thread btpool0-2
                at org.apache.wicket.Application.get(Application.java:179)
                at 
org.apache.wicket.Component.getApplication(Component.java:1323)
                at org.apache.wicket.Component.<init>(Component.java:920)

It seems that in this push method, context is lost, I have no session, 
request,...

Is there any way I gan regain it or make new?

Or how should I implement push service, which needs to replace some components 
on page?

Thanks in advance,
Roland

Reply via email to