|
From: Christian M. <chr...@ta...> - 2013-03-05 06:50:44
|
Hi Victor, none. The Wrapper will always terminate the JVM eventually. So your problem is rather a problem with your system, or how TCP/IP ports are working. I think what are you seeing is that your application is binding a socket at a certain port (port C) and to establish to create a connection to another port (port S). So when your application is now being stopped forcibly by the Wrapper (or a crash or anything causing the application to stop immediately), then the system is leaving port C for a defined period of time in state TIME_WAIT, which is around 1 - 4 minutes and then after this period the system is going to free the port. As long as the port is in TIME_WAIT, it can't be reused. The TIME_WAIT period is usually twice the max packet lifetime, this protects actually your client socket from receiving data from the previous connection. I would recommend to rather use a port range for your client port, so even if your first attempt to bind fails, you can try the next one etc, one eventually works. Please let me know if you have any further questions. Thank you, Christian Mueller Tanuki Software, Ltd. On Mon, Mar 4, 2013 at 10:27 PM, ויקטור ר <har...@wa...> wrote: > > > Hi all > > It seems to me that sometimes the JVM doesnt get terminated during the restart for us. > > > We use Wrapper Professional Edition 64-bit 3.3.9 for our project (Windows OS) and sometimes we see the following in our logs: > > > wrapper | JVM requested a restart..... > wrapper | Shutdown failed: Timed out waiting for the JVM to terminate. > wrapper | Dumping JVM state. > wrapper | JVM did not exit on request, terminated > wrapper | Reloading Wrapper configuration... > wrapperp | port 1777 already in use, using port 32001 instead. > wrapper | Launching a JVM... > jvm 2 | -XX:+CMSClassUnloadingEnabled -XX:+CMSIncrementalMode -XX:CompileCommand=exclude,jregex/Pretokenizer,next -XX:+HeapDumpOnOutOfMemoryError -XX:InitialHeapSize=536870912 -XX:+ManagementServer -XX:MaxGCPauseMillis=250 -XX:MaxHeapSize=1073741824 -XX:MaxPermSize=201326592 -XX:MaxTenuringThreshold=6 -XX:NewRatio=2 -XX:OldPLABSize=16 -XX:PermSize=134217728 -XX:+PrintCommandLineFlags -XX:+UseAdaptiveGCBoundary -XX:+UseCompressedOops -XX:+UseConcMarkSweepGC -XX:-UseLargePagesIndividualAllocation -XX:+UseParNewGC > jvm 2 | CompilerOracle: exclude jregex/Pretokenizer.next > jvm 2 | WrapperManager: Initializing... > jvm 2 | Starting the Probe ... > > After that we have some application specific exception because some RMI that we use is not free because it seems like the previous instance of our application is still alive. > Are there cases when the wrapper reports that it terminates the JVM but it isnt? > > Thanks in advance > Victor > > ________________________________ > Walla! Mail - Get your free unlimited mail today > > � > > ________________________________ > Walla! Mail - Get your free unlimited mail today > ------------------------------------------------------------------------------ > Everyone hates slow websites. So do we. > Make your web apps faster with AppDynamics > Download AppDynamics Lite for free today: > http://p.sf.net/sfu/appdyn_d2d_feb > _______________________________________________ > Wrapper-user mailing list > Wra...@li... > https://lists.sourceforge.net/lists/listinfo/wrapper-user > |