message delivered twice to server side service
shadogray Jan 20, 2013 11:58 AMI am currently working with server side persistence JPA, and received on update an optimistic locking error.
During investigation I seem to get the message delivered twice.
It seems, that the DeliveryPlan finds two destinations:
public void deliver(final Message m) {
for (MessageCallback callback : deliverTo) {
callback.callback(m);
}
}
To show what happens I made the tread dumps:
First delivery:
17:25:35,864 ERROR [stderr] (http--0.0.0.0-8080-8) | at java.lang.Thread.dumpStack(Thread.java:1342) |
17:25:35,865 ERROR [stderr] (http--0.0.0.0-8080-8) | at at.tfr.aero2.server.ParentServiceImpl.update(ParentServiceImpl.java:55) |
17:25:35,867 ERROR [stderr] (http--0.0.0.0-8080-8) | at at.tfr.aero2.server.ParentServiceImpl.update(ParentServiceImpl.java:1) |
17:25:35,868 ERROR [stderr] (http--0.0.0.0-8080-8) | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) |
17:25:35,869 ERROR [stderr] (http--0.0.0.0-8080-8) | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) |
17:25:35,870 ERROR [stderr] (http--0.0.0.0-8080-8) | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) |
17:25:35,871 ERROR [stderr] (http--0.0.0.0-8080-8) | at java.lang.reflect.Method.invoke(Method.java:601) |
17:25:35,872 ERROR [stderr] (http--0.0.0.0-8080-8) | at org.jboss.errai.bus.server.io.ConversationalEndpointCallback.callback(ConversationalEndpointCallback.java:114) |
17:25:35,873 ERROR [stderr] (http--0.0.0.0-8080-8) | at org.jboss.errai.bus.server.io.RemoteServiceCallback.callback(RemoteServiceCallback.java:54) |
17:25:35,874 ERROR [stderr] (http--0.0.0.0-8080-8) | at org.jboss.errai.bus.client.framework.DeliveryPlan.deliver(DeliveryPlan.java:43) |
17:25:35,875 ERROR [stderr] (http--0.0.0.0-8080-8) | at org.jboss.errai.bus.server.ServerMessageBusImpl.sendGlobal(ServerMessageBusImpl.java:632) |
17:25:35,876 ERROR [stderr] (http--0.0.0.0-8080-8) | at org.jboss.errai.bus.server.SimpleDispatcher.dispatchGlobal(SimpleDispatcher.java:46) |
17:25:35,877 ERROR [stderr] (http--0.0.0.0-8080-8) | at org.jboss.errai.bus.server.service.ErraiServiceImpl.store(ErraiServiceImpl.java:93) |
17:25:35,879 ERROR [stderr] (http--0.0.0.0-8080-8) | at org.jboss.errai.bus.server.service.ErraiServiceImpl.store(ErraiServiceImpl.java:107) |
17:25:35,880 ERROR [stderr] (http--0.0.0.0-8080-8) | at org.jboss.errai.bus.server.servlet.DefaultBlockingServlet.doPost(DefaultBlockingServlet.java:117) |
17:25:35,881 ERROR [stderr] (http--0.0.0.0-8080-8) | at javax.servlet.http.HttpServlet.service(HttpServlet.java:754) |
Second delivery:
17:25:46,860 ERROR [stderr] (http--0.0.0.0-8080-8) | at java.lang.Thread.dumpStack(Thread.java:1342) |
17:25:46,861 ERROR [stderr] (http--0.0.0.0-8080-8) | at at.tfr.aero2.server.ParentServiceImpl.update(ParentServiceImpl.java:55) |
17:25:46,863 ERROR [stderr] (http--0.0.0.0-8080-8) | at at.tfr.aero2.server.ParentServiceImpl.update(ParentServiceImpl.java:1) |
17:25:46,864 ERROR [stderr] (http--0.0.0.0-8080-8) | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) |
17:25:46,865 ERROR [stderr] (http--0.0.0.0-8080-8) | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) |
17:25:46,866 ERROR [stderr] (http--0.0.0.0-8080-8) | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) |
17:25:46,867 ERROR [stderr] (http--0.0.0.0-8080-8) | at java.lang.reflect.Method.invoke(Method.java:601) |
17:25:46,869 ERROR [stderr] (http--0.0.0.0-8080-8) | at org.jboss.errai.bus.server.io.ConversationalEndpointCallback.callback(ConversationalEndpointCallback.java:114) |
17:25:46,871 ERROR [stderr] (http--0.0.0.0-8080-8) | at org.jboss.errai.bus.server.io.RemoteServiceCallback.callback(RemoteServiceCallback.java:54) |
17:25:46,872 ERROR [stderr] (http--0.0.0.0-8080-8) | at org.jboss.errai.cdi.server.CDIExtensionPoints$3.callback(CDIExtensionPoints.java:512) |
17:25:46,873 ERROR [stderr] (http--0.0.0.0-8080-8) | at org.jboss.errai.bus.client.framework.DeliveryPlan.deliver(DeliveryPlan.java:43) |
17:25:46,874 ERROR [stderr] (http--0.0.0.0-8080-8) | at org.jboss.errai.bus.server.ServerMessageBusImpl.sendGlobal(ServerMessageBusImpl.java:632) |
17:25:46,875 ERROR [stderr] (http--0.0.0.0-8080-8) | at org.jboss.errai.bus.server.SimpleDispatcher.dispatchGlobal(SimpleDispatcher.java:46) |
17:25:46,876 ERROR [stderr] (http--0.0.0.0-8080-8) | at org.jboss.errai.bus.server.service.ErraiServiceImpl.store(ErraiServiceImpl.java:93) |
17:25:46,878 ERROR [stderr] (http--0.0.0.0-8080-8) | at org.jboss.errai.bus.server.service.ErraiServiceImpl.store(ErraiServiceImpl.java:107) |
17:25:46,879 ERROR [stderr] (http--0.0.0.0-8080-8) | at org.jboss.errai.bus.server.servlet.DefaultBlockingServlet.doPost(DefaultBlockingServlet.java:117) |
17:25:46,880 ERROR [stderr] (http--0.0.0.0-8080-8) | at javax.servlet.http.HttpServlet.service(HttpServlet.java:754) |
I use the @Remote on the interface and the @Service annotation on the impl.
What can I do to remedy this?
Thanks,
Thomas