|
From: Santo74 <gds...@de...> - 2009-05-15 19:10:41
|
First of all I want to apologise for waking up an old thread, but actually the problem described in this thread still applies. I say this because I am experiencing exactly the same behaviour as ahmadk72 with our own java application, which uses the java service wrapper. These are the remarkable things that I experienced: 1) the service wrapper is reserving all ports between 31000 and 32000 by default -> I would expect that it looks for the first free port in this range and allocate / reserve that one, but apparently it reserves the whole range !! 2) On most systems it's not a huge problem in that this port range is probably available (most of the time) and therefore doesn't cause much trouble. However, a lot of companies don't like it that a single application is occupying a range of 1000 ports 3) On Solaris 10 zones it's even worse because the port range appears to be in use on ALL zones as soon as ONE zone is running a service wrapper based application (cfr the explanation of ahmadk72 below) The strangest part is that we can run multiple instances of other applications that use a particular port on multiple zones without any trouble at all. E.g. a solaris host with 5 zones, all 5 running an IBM Tivoli Policy Server instance using the same ports on all those zones is not a problem. So why can other applications allocate a particular port for that particular zone (i.e. independant), while the service wrapper is allocating (reserving) its ports on all zones at once (i.e. global) ?? 4) I know it's possible to make the port range smaller AND letting each server or zone use another port range, but this makes it very hard to package an application for deployment We are using java service wrapper v3.2.3 Can someone please look into this and take the necessary actions where required ? Thanks in advance, gds ahmadk72 wrote: > > I have a problem that is perplexed me to no end. Even our UNIX admin is > stumped, so this mailing list is a last resort. > > We have a third-party application that uses the Java Service Wrapper > (v3.2.1). The application is installed on two different Zones in Solaris > 10. One zone is called rhdam-dev and the other is called rhdam-tst. > > If i startup the rhdam-dev (DEV box) application, the Java service wrapper > uses ports 31000 and 32000 for communicating to and listening from the > JVM. Everything works fine, and I have no problems running the application > as expected. > > Then recently we installed the application on the dam-tst (TEST box) > application on another Solaris zone. When the wrapper starts up, I see > the following error (logging output is set to DEBUG level) in the attached > log file. > > From what I have been able to deciper, it is complaining about port 32000 > already being in use. However, the port is not in use on the rhdam-tst > zone. I can run a netstat -an command and see that there is nothing > running on port 32000. > > The really weird part is that is I stop the wrapper service on the > rhdam-dev zone, and try to startup the rhdam-tst instance, then the > wrapper service starts successfully. > > For now I have been able to start both up by changing adding the > wrapper.port.min and wrappper.port.max settings so the ports don't > conflict between rhdam-dev and rhdam-tst. > > However, I need to know why this is happening. Has anyone seen this > behavior? The ports are suppose to be independent on Solaris zone. Why > is the Java Service wrapper socket complaining about the port being used > in another zone. > > If anyone can help me solve this mystery that would be just great. > > Thanks > > Kashif http://www.nabble.com/file/p12904287/artesia-service-wrapper.log > artesia-service-wrapper.log > -- View this message in context: http://www.nabble.com/Wrapper-behavior-on-Solaris-10-zone-tp12904287p23565345.html Sent from the Java Service Wrapper mailing list archive at Nabble.com. |