[jboss-user] [Remoting] - java.net.SocketException: Connection reset

mrbalde do-not-reply at jboss.com
Wed Oct 29 09:36:55 EDT 2008


Hi all,

I hope someone can help me to understand following problem. We use JBoss 4.2.3 with JBoss Remoting 2.2.2.SP8 and JDK 1.6.0.07. We use Linux on the server side and Windows on the client side. We have a Swing client which connects to JBoss and invokes methods on stateless session beans. We use EJB3 stateless session beans. From time to time our users get following exception:

  | org.jboss.remoting.CannotConnectException: Can not get connection to server. Problem establishing socket connection for InvokerLocator [socket://10.10.81.1:3873/?clientMaxPoolSize=300&socket.check_connection=true&timeout=600000]
  | 	at org.jboss.remoting.transport.socket.MicroSocketClientInvoker.transport(MicroSocketClientInvoker.java:579)
  | 	at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:122)
  | 	at org.jboss.remoting.Client.invoke(Client.java:1634)
  | 	at org.jboss.remoting.Client.invoke(Client.java:548)
  | 	at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:62)
  | 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  | 	at org.jboss.aspects.tx.ClientTxPropagationInterceptor.invoke(ClientTxPropagationInterceptor.java:67)
  | 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  | 	at org.jboss.aspects.security.SecurityClientInterceptor.invoke(SecurityClientInterceptor.java:53)
  | 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  | 	at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:74)
  | 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  | 	at org.jboss.ejb3.stateless.StatelessRemoteProxy.invoke(StatelessRemoteProxy.java:107)
  | 	at $Proxy5.invoke(Unknown Source)
  | 	at com.xyz.core.tunnel.TunnelProxy.invoke(TunnelProxy.java:92)
  | 	at $Proxy20.findIntelli(Unknown Source)
  | 	at com.xyz.zyx.seaimport.client.SeaImportHomeModel.search(SeaImportHomeModel.java:175)
  | 	at com.xyz.core.desktop.SearchableHomeModel$SearchTask.doInBackground(SearchableHomeModel.java:367)
  | 	at com.xyz.core.desktop.SearchableHomeModel$SearchTask.doInBackground(SearchableHomeModel.java:342)
  | 	at org.jdesktop.swingworker.SwingWorker$1.call(Unknown Source)
  | 	at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
  | 	at java.util.concurrent.FutureTask.run(Unknown Source)
  | 	at org.jdesktop.swingworker.SwingWorker.run(Unknown Source)
  | 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
  | 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
  | 	at java.lang.Thread.run(Unknown Source)
  | Caused by: java.lang.reflect.InvocationTargetException
  | 	at sun.reflect.GeneratedConstructorAccessor31.newInstance(Unknown Source)
  | 	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
  | 	at java.lang.reflect.Constructor.newInstance(Unknown Source)
  | 	at org.jboss.remoting.transport.socket.SocketClientInvoker.createClientSocket(SocketClientInvoker.java:157)
  | 	at org.jboss.remoting.transport.socket.MicroSocketClientInvoker.getConnection(MicroSocketClientInvoker.java:854)
  | 	at org.jboss.remoting.transport.socket.MicroSocketClientInvoker.transport(MicroSocketClientInvoker.java:569)
  | 	at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:122)
  | 	at org.jboss.remoting.Client.invoke(Client.java:1634)
  | 	at org.jboss.remoting.Client.invoke(Client.java:548)
  | 	at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:62)
  | 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  | 	at org.jboss.aspects.tx.ClientTxPropagationInterceptor.invoke(ClientTxPropagationInterceptor.java:67)
  | 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  | 	at org.jboss.aspects.security.SecurityClientInterceptor.invoke(SecurityClientInterceptor.java:53)
  | 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  | 	at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:74)
  | 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  | 	at org.jboss.ejb3.stateless.StatelessRemoteProxy.invoke(StatelessRemoteProxy.java:107)
  | 	at $Proxy5.invoke(Unknown Source)
  | 	at com.xyz.core.tunnel.TunnelProxy.invoke(TunnelProxy.java:92)
  | 	at $Proxy20.findIntelli(Unknown Source)
  | 	at com.xyz.zyx.seaimport.client.SeaImportHomeModel.search(SeaImportHomeModel.java:175)
  | 	at com.xyz.core.desktop.SearchableHomeModel$SearchTask.doInBackground(SearchableHomeModel.java:367)
  | 	at com.xyz.core.desktop.SearchableHomeModel$SearchTask.doInBackground(SearchableHomeModel.java:342)
  | 	at org.jdesktop.swingworker.SwingWorker$1.call(Unknown Source)
  | 	at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
  | 	at java.util.concurrent.FutureTask.run(Unknown Source)
  | 	at org.jdesktop.swingworker.SwingWorker.run(Unknown Source)
  | 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
  | 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
  | 	at java.lang.Thread.run(Unknown Source)
  | 	at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:74)
  | 	... 21 more
  | Caused by: java.net.SocketException: Connection reset
  | 	at java.net.SocketInputStream.read(Unknown Source)
  | 	at java.io.BufferedInputStream.fill(Unknown Source)
  | 	at java.io.BufferedInputStream.read1(Unknown Source)
  | 	at java.io.BufferedInputStream.read(Unknown Source)
  | 	at java.io.ObjectInputStream$PeekInputStream.read(Unknown Source)
  | 	at java.io.ObjectInputStream$PeekInputStream.readFully(Unknown Source)
  | 	at java.io.ObjectInputStream$BlockDataInputStream.readShort(Unknown Source)
  | 	at java.io.ObjectInputStream.readStreamHeader(Unknown Source)
  | 	at java.io.ObjectInputStream.<init>(Unknown Source)
  | 	at org.jboss.remoting.loading.ObjectInputStreamWithClassLoader.<init>(ObjectInputStreamWithClassLoader.java:95)
  | 	at org.jboss.remoting.serialization.impl.java.JavaSerializationManager.createInput(JavaSerializationManager.java:54)
  | 	at org.jboss.remoting.marshal.serializable.SerializableUnMarshaller.getMarshallingStream(SerializableUnMarshaller.java:72)
  | 	at org.jboss.remoting.marshal.serializable.SerializableUnMarshaller.getMarshallingStream(SerializableUnMarshaller.java:55)
  | 	at org.jboss.remoting.transport.socket.ClientSocketWrapper.createInputStream(ClientSocketWrapper.java:179)
  | 	at org.jboss.remoting.transport.socket.ClientSocketWrapper.createStreams(ClientSocketWrapper.java:162)
  | 	at org.jboss.remoting.transport.socket.ClientSocketWrapper.<init>(ClientSocketWrapper.java:66)
  | 	at sun.reflect.GeneratedConstructorAccessor31.newInstance(Unknown Source)
  | 	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
  | 	at java.lang.reflect.Constructor.newInstance(Unknown Source)
  | 	at org.jboss.remoting.transport.socket.SocketClientInvoker.createClientSocket(SocketClientInvoker.java:157)
  | 	at org.jboss.remoting.transport.socket.MicroSocketClientInvoker.getConnection(MicroSocketClientInvoker.java:854)
  | 	at org.jboss.remoting.transport.socket.MicroSocketClientInvoker.transport(MicroSocketClientInvoker.java:569)
  | 	at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:122)
  | 	at org.jboss.remoting.Client.invoke(Client.java:1634)
  | 	at org.jboss.remoting.Client.invoke(Client.java:548)
  | 	at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:62)
  | 	... 21 more
  | 

Our configuration of the DefaultEjb3Connector looks like this:

  |    <mbean code="org.jboss.remoting.transport.Connector"
  |           name="jboss.remoting:type=Connector,name=DefaultEjb3Connector,handler=ejb3">
  |       <depends>jboss.aop:service=AspectDeployer</depends>
  |       <attribute name="Configuration">
  |          <config>
  |             <invoker transport="socket">
  |                <attribute name="numAcceptThreads">2</attribute>
  |                <attribute name="maxPoolSize">400</attribute>
  |                <attribute name="clientMaxPoolSize" isParam="true">300</attribute>
  |                <attribute name="timeout" isParam="true">600000</attribute>
  |                <attribute name="serverBindAddress">${jboss.bind.address}</attribute>
  |                <attribute name="serverBindPort">3873</attribute>
  |                <attribute name="backlog">200</attribute>
  |                <attribute name="socket.check_connection" isParam="true">true</attribute>
  |             </invoker>
  |             <handlers>
  |                <handler subsystem="AOP">org.jboss.aspects.remoting.AOPRemotingInvocationHandler</handler>
  |             </handlers>
  |          </config>
  |       </attribute>
  |    </mbean>
  | 

The client has following jars in its classpath:

ejb3-persistence.jar
hibernate-annotations.jar
hibernate-client.jar
jnp-client.jar
jboss-common-client.jar
jbosssx-client.jar
jboss-ejb3-client.jar
jboss-aop-jdk50-client.jar
jboss-aspect-jdk50-client.jar
jboss-remoting.jar
jboss-serialization.jar
jboss-transaction-client.jar
concurrent.jar
jboss-j2ee.jar
jbossmq-client.jar
jboss-ejb3x.jar


We get this exception also with the default configuration of DefaultEjb3Connector. If the user retries his last action everything seems to work again. But as I said from time to time this exception occurs and we just don't know what may be the cause for this problem. We tested the configuration of our routers and firewalls and everything is properly configured and work as expected. The problem occurs only with our client which connects to JBoss. All other applications work without problems.

I hope some of you may explain, what may cause this exception.

Thanks in advance and best regards,
Andrej

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4185397#4185397

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4185397



More information about the jboss-user mailing list