SocketException converted into UndeclaredThrowableException
metelka Dec 4, 2006 6:53 AMHi,
I have a problem with exception reporting in EJB3 remote calls. My remote client has 20s timeout on remote calls and the timeout works fine, however the timeout exception is converted into UndeclaredThrowableException by jboss remoting/ejb3 invocation interceptors. I would expect to receive some kind of communication exception or remoting exception, which I could handle in my client code. Any ideas?
Thanks
SW versions: JBoss 4.0.4GA, EJB3 RC9, JBoss Remoting 1.4.4.
My stacktrace:
2006-11-30 17:01:37,334 FATAL [cz.tipsport.pluginsys.gui.ApplicationUncaughtExceptionHandler] (AWT-EventQueue-0:) Unchecked exception thrown!
java.lang.reflect.UndeclaredThrowableException
at $Proxy44.findAddressees(Unknown Source)
at cz.tipsport.tip.dms.gui.addressee.gui.AddresseeSelectorPanelCtl.<init>(AddresseeSelectorPanelCtl.java:156)
... not important ...
Caused by: java.rmi.MarshalException: Socket timed out. Waited 20000 milliseconds for response while calling on InvokerLocator [socket://172.16.19.42:3673/?timeout=20000]; nested exception is:
java.net.SocketTimeoutException: Read timed out
at org.jboss.remoting.transport.socket.SocketClientInvoker.transport(SocketClientInvoker.java:302)
at org.jboss.remoting.RemoteClientInvoker.invoke(RemoteClientInvoker.java:143)
at org.jboss.remoting.Client.invoke(Client.java:525)
at org.jboss.remoting.Client.invoke(Client.java:488)
at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:55)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:98)
at org.jboss.aspects.tx.ClientTxPropagationInterceptor.invoke(ClientTxPropagationInterceptor.java:61)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:98)
at org.jboss.aspects.security.SecurityClientInterceptor.invoke(SecurityClientInterceptor.java:55)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:98)
at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:77)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:98)
at org.jboss.ejb3.stateless.StatelessRemoteProxy.invoke(StatelessRemoteProxy.java:102)
... 114 more
Caused by: java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
at java.io.BufferedInputStream.read(BufferedInputStream.java:235)
at java.io.ObjectInputStream$PeekInputStream.peek(ObjectInputStream.java:2200)
at java.io.ObjectInputStream$BlockDataInputStream.peek(ObjectInputStream.java:2490)
at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2500)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1267)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:339)
at org.jboss.remoting.serialization.impl.java.JavaSerializationManager.receiveObject(JavaSerializationManager.java:128)
at org.jboss.remoting.marshal.serializable.SerializableUnMarshaller.read(SerializableUnMarshaller.java:66)
at org.jboss.remoting.transport.socket.SocketClientInvoker.transport(SocketClientInvoker.java:279)
... 126 more