1 Reply Latest reply on May 28, 2008 9:09 PM by Ron Sigal

    Connect or not CannotConnectException that is the question ?

    tino lolo Newbie


      I m develloped an application which use jboss remoting and rmi.

      For the server, I implement ServerInvocationHandler.
      For the client, I use org.jboss.remoting.Client to communicate with the server.

      I periodically make invocation from clients to the server and release the connection using disconnect().

      Problem :
      After a perdiod of time, the server no longer accepts client connections and clients catch this exception :

      11:12:55,515 ERROR [STDERR] org.jboss.remoting.CannotConnectException: Error making invocation in RMI client invoker.
      11:12:55,515 ERROR [STDERR] at org.jboss.remoting.transport.rmi.RMIClientInvoker.transport(RMIClientInvoker.java:241)
      11:12:55,515 ERROR [STDERR] at org.jboss.remoting.RemoteClientInvoker.invoke(RemoteClientInvoker.java:143)
      11:12:55,515 ERROR [STDERR] at org.jboss.remoting.Client.invoke(Client.java:525)
      11:12:55,516 ERROR [STDERR] at org.jboss.remoting.Client.invoke(Client.java:488)
      11:12:55,516 ERROR [STDERR] at org.jboss.remoting.Client.invokeOneway(Client.java:574)
      11:12:55,516 ERROR [STDERR] Caused by: java.rmi.UnmarshalException: Error unmarshaling return header; nested exception java.net.SocketTimeoutException: Read timed out
      11:12:55,516 ERROR [STDERR] at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:203)
      11:12:55,517 ERROR [STDERR] at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:126)
      11:12:55,517 ERROR [STDERR] at org.jboss.remoting.transport.rmi.RMIServerInvoker_Stub.transport(Unknown Source)
      11:12:55,517 ERROR [STDERR] at org.jboss.remoting.transport.rmi.RMIClientInvoker.transport(RMIClientInvoker.java:207)
      11:12:55,517 ERROR [STDERR] ... 7 more
      11:12:55,517 ERROR [STDERR] Caused by: java.net.SocketTimeoutException: Read timed out
      11:12:55,517 ERROR [STDERR] at java.net.SocketInputStream.socketRead0(Native Method)
      11:12:55,518 ERROR [STDERR] at java.net.SocketInputStream.read(SocketInputStream.java:129)
      11:12:55,518 ERROR [STDERR] at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
      11:12:55,518 ERROR [STDERR] at java.io.BufferedInputStream.read(BufferedInputStream.java:235)
      11:12:55,518 ERROR [STDERR] at java.io.DataInputStream.readByte(DataInputStream.java:241)
      11:12:55,518 ERROR [STDERR] at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:189)
      11:12:55,518 ERROR [STDERR] ... 10 more

      Can it be the Client connection which aren't correctly released ?
      Have somebody indications where in jboss I can search the origin of the problem ?

      Thanks a lot.