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#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...