When you configure two zone on Solaris 10
(virtualization) and you try to launch the same
wrapper on a second zone, the wrapper cannot find a
port automatically.
Note: the first launch is OK. Only, the second launch
on a second zone fails.
I have try (in wrapper.conf),
case1: #wrapper.port=1777 (comments)
case2: wrapper.port=0
case3: wrapper.port=1777
Note: When I turn on debug, the second wrapper find a
port but I have others problems (the wrapper stopping
is very, very slow...)
All tests are done with the last version of wrapper.
Logged In: YES
user_id=1393318
Originator: NO
Hi,
I found the problem.
The issue is due to the JVM port. I describe the situation.
On the virtual zone1 the configuration is Wrapper.port=2000 jvm.port=0
On the virtual zone2 the configuration is Wrapper.port=2000 jvm.port=0
The error occured when the wrapper try to bind to the socket by indicating its local port.
source code is: m_socket = new Socket( iNetAddress, m_port, iNetAddress, tryPort );
Unfortunately on a solaris 10 the exception thrown is not BindException but SocketException.
And the tryPort is never incremented :(
There are two solutions:
1) Check that the error message of the SocketException is "Address already in use".
2) Allow the user to not fix the local port used by the wrapper and let the system choose a port.
Thanks for your answer and congratulation for this great application.
Xavier.
Logged In: YES
user_id=228081
Originator: NO
Thanks for following up on this. I have made a change to the WrapperManager class for the 3.2.4 release which will now check the SocketException message as you suggested.
Cheers,
Leif