We are developing a Visibroker for Java multi-threaded application
using exactly one IIOP connection per thread for accessing the same
implementation object on the same OrbixWeb server.
For this we use the clone() method which effectively create a new TCP
socket for each thread.
However, a problem appear when we try to connect simultaneously several
thread (50). Some threads successfully connect but rapidly the following
exception is raised :
org.omg.CORBA.COMM_FAILURE[completed=MAYBE,
reason=java.net.ConnectException: Connection refused]
at com.visigenic.vbroker.orb.TcpSocket.clone(Compiled Code)
at com.visigenic.vbroker.orb.TcpConnection.clone(Compiled Code)
at com.visigenic.vbroker.orb.GiopConnectionImpl.clone(Compiled
Code)
at
com.visigenic.vbroker.orb.GiopStubDelegateServerInfo.clone(Compiled
Code)
at com.visigenic.vbroker.orb.GiopStubDelegate.clone(Compiled
Code)
at com.visigenic.vbroker.orb.UnboundStubDelegate.clone(Compiled
Code)
at org.omg.CORBA.portable.ObjectImpl._clone(Compiled Code)
at
at benchbuilder.injector.client.Client.run(Compiled Code)
We suppose that the problem comes from the server because when we
replace
the Orbix server with a Visibroker equivalent (same source, same
computer)
the connections works fully.
Is our supposition right ? In this case, are there some configuration
adjustments on the Orbix server or on the Visibroker client like TCP
time-outs or connection retries that we should try ?
Thanks for helping,
Nicolas Jean, Jerome Louvel (ASTON)
> at org.omg.CORBA.portable.ObjectImpl._clone(Compiled Code)
> at
> at benchbuilder.injector.client.Client.run(Compiled Code)
>
< We suppose that the problem comes from the server because when we
< replace
< the Orbix server with a Visibroker equivalent (same source, same
< computer)
< the connections works fully.
< Is our supposition right ? In this case, are there some configuration
< adjustments on the Orbix server or on the Visibroker client like TCP
> time-outs or connection retries that we should try ?
Correct. The problem is server's: its TCP listen is too small. I don't
know if it's configurable (I don't have the docs). If it's not, have
you threads connect after a brief interval.