hi,
we're currently evaluating a couple of application servers and have created
a simple test suite. the first test simply calls one method of a stateless
session bean from multiple threads in one client repeatedly for a given
number of total calls. while weblogic, ias, and the sun reference
implementation pass this test without problems, our client receives the
following exception when using jBoss:
Caught an IO exception: Connection refused to host: 192.168.230.126; nested
exception is:
java.net.ConnectException: Connection refused: no further
information
java.rmi.ConnectException: Connection refused to host: 192.168.230.126;
nested exception is:
java.net.ConnectException: Connection refused: no further
information
java.net.ConnectException: Connection refused: no further information
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:312)
at
java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:125)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:112)
at java.net.Socket.<init>(Socket.java:273)
at java.net.Socket.<init>(Socket.java:100)
at
sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketF
actory.java:25)
at
sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketF
actory.java:120)
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:499)
at
sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:190)
at
sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:174)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:83)
at
org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker_Stub.invoke(Unknown
Source)
at
org.jboss.ejb.plugins.jrmp.interfaces.StatelessSessionProxy.invoke(Stateless
SessionProxy.java:175)
at $Proxy1.passData(Unknown Source)
at ejbperf.PerftestClientThread.run(PerftestClientThread.java:61)
at java.lang.Thread.run(Thread.java:484)
to make things clear: this is not a configuration problem. calling the
method once, or only from few thread simultaneously, everything works fine.
the above exception occurs, when the client is supposed to start 50 threads,
each calling the method 50 times. sometimes it already occurs with less than
50 threads. there is also no difference if the client runs locally or on
another machine.
my first idea was that the connection backlog of the RMI ServerSocket was
exceeded. so I patched the code and created my own RMISocketFactory that
creates ServerSockets with a backlog of 10000 entries. I also set any
configuration parameters I found that looked like "maxSomething" to
arbitrary high values. but this did not help. I still get the exception. any
ideas?
cheers,
achim
--
--------------------------------------------------------------
To subscribe: [EMAIL PROTECTED]
To unsubscribe: [EMAIL PROTECTED]
List Help?: [EMAIL PROTECTED]