|
From: <And...@t-...> - 2006-06-19 08:53:29
|
Re-sent after subscribing to list ...
-----Original Message-----
Hi,
I switched from 3.1.2 to 3.2.0 recently and my processes do not restart any more.
I wrote a little test class to nail down the problem, and it seems to be the wrapper.
The test class only gets restarted when setting "disable_shutdown_hook" to TRUE, but then I cannot control the restart bevahior using System.exit(n)
Test code:
==========
public class Wrappertest
{
public static void main( String[] args)
{
try
{
long sleepTime = Long.parseLong(args[0]);
int exitCode = Integer.parseInt(args[1]);
System.out.println("WRAPPERTEST: #############################################");
System.out.println("WRAPPERTEST: Sleeping for "+sleepTime+"ms");
Thread.sleep(sleepTime);
System.out.println("WRAPPERTEST: Exiting with code "+exitCode);
System.exit(exitCode);
}
catch( Exception e)
{
e.printStackTrace();
System.err.println();
System.err.println("Usage: java Wrappertest <sleeptime in ms> <exit code>");
System.err.println();
}
}
}
Wrapper configuration:
======================
#include %AODB_HOME%/run/etc/set_classpath.cfg
wrapper.java.command=java
wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp
wrapper.app.parameter.1=Wrappertest
wrapper.app.parameter.2=10000
# exit code 1 should initiate restart
wrapper.app.parameter.3=1
wrapper.on_exit.-1=RESTART
wrapper.on_exit.1=RESTART
wrapper.on_exit.255=RESTART
#wrapper.disable_shutdown_hook=TRUE
wrapper.console.format=PM
wrapper.console.loglevel=NONE
wrapper.logfile=%AODB_HOME%/run/log/wrappertest.log
wrapper.logfile.format=LPTM
wrapper.logfile.loglevel=DEBUG
wrapper.logfile.maxsize=1m
wrapper.logfile.maxfiles=10
wrapper.syslog.loglevel=NONE
wrapper.console.title=WRAPPERTEST
wrapper.ntservice.name=WRAPPERTEST
wrapper.ntservice.displayname=WRAPPERTEST
wrapper.ntservice.description=WRAPPERTEST
wrapper.ntservice.starttype=AUTO_START
wrapper.ntservice.interactive=false
wrapper.java.pidfile=%AODB_HOME%/run/var/wrappertest.pid
wrapper.lockfile=%AODB_HOME%/run/var/wrappertest.lck
wrapper.anchorfile=%AODB_HOME%/run/var/wrappertest.anc
wrapper.debug=TRUE
Wrappertest.log
===============
DEBUG | wrapper | 2006/06/19 09:07:54 | Working directory set to: D:\Projects\CGN\Farms\aodb_install\run
DEBUG | wrapper | 2006/06/19 09:07:54 | Service command: D:\Projects\CGN\Farms\aodb_install\common\syslib\extlib\wrapper\windows\bin\wrapper.exe -s D:\Projects\CGN\Farms\aodb_install\run\config\Wrappertest.cfg set.WRAPPER_DIR=D:\Projects\CGN\Farms\aodb_install\common\syslib\extlib\wrapper\windows\bin set.SYSLIB_DIR=../common/syslib set.AODB_HOME=D:\Projects\CGN\Farms\aodb_install wrapper.working.dir=D:\Projects\CGN\Farms\aodb_install\run
ERROR | wrapper | 2006/06/19 09:07:54 | CreateService failed - Der angegebene Dienst ist bereits vorhanden. (0x431) DEBUG | wrapper | 2006/06/19 09:07:54 | Working directory set to: D:\Projects\CGN\Farms\aodb_install\run
STATUS | wrapper | 2006/06/19 09:07:54 | Starting the WRAPPERTEST service...
DEBUG | wrapper | 2006/06/19 09:07:54 | Working directory set to: D:\Projects\CGN\Farms\aodb_install\run
STATUS | wrapper | 2006/06/19 09:07:54 | --> Wrapper Started as Service DEBUG | wrapper | 2006/06/19 09:07:54 | Using tick timer.
DEBUG | wrapperp | 2006/06/19 09:07:54 | server listening on port 32000.
DEBUG | wrapper | 2006/06/19 09:07:54 | Classpath element, wrapper.java.classpath.28, does not exist: ../common/syslib/extlib/jmx/jmxremote_optional.jar
DEBUG | wrapper | 2006/06/19 09:07:54 | Classpath element, wrapper.java.classpath.30, does not exist: ../common/syslib/extlib/jmx/jmxtools.jar
DEBUG | wrapper | 2006/06/19 09:07:54 | Classpath element, wrapper.java.classpath.31, does not exist: ../common/syslib/extlib/jmx/rmissl.jar
DEBUG | wrapper | 2006/06/19 09:07:54 | Classpath element, wrapper.java.classpath.83, does not exist: D:\Projects\CGN\Farms\aodb_install\common\syslib\extlib\wrapper\windows\bin/../lib/wrappertest.jar
STATUS | wrapper | 2006/06/19 09:07:54 | Launching a JVM...
DEBUG | wrapper | 2006/06/19 09:07:54 | command: "d:\Program Files\j2sdk1.4.2\bin\java.exe" -Djava.library.path="D:\Projects\CGN\Farms\aodb_install\common\syslib\extlib\wrapper\windows\bin/../lib;d:\Program Files\j2sdk1.4.2\bin;d:\ora92\bin;D:\Program Files\Perl\bin\;F:\oracle\product\10.1.0\Db_1\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;D:\Program Files\Perl\bin;D:\ewu\NT-Tools\gnu;c:\win32app\ewu;C:\Programme\cvsnt;C:\Programme\QuickTime\QTSystem\\" -classpath "../common/syslib/lib/bc4jdomorcl.jar;../common/syslib/bigraphbean.jar;../common/syslib/extlib/bc4jstruts.jar;../common/syslib/extlib/commons-dbcp.jar;../common/syslib/extlib/commons-fileupload.jar;../common/syslib/extlib/commons-lang.jar;../common/syslib/extlib/commons-net-1.4.1.jar;../common/syslib/extlib/commons-pool.jar;../common/syslib/extlib/commons-resources.jar;../common/syslib/extlib/commons-validator.jar;../common/syslib/extlib/help4.jar;../common/syslib/extlib/hsqldb.jar;../common/syslib/extlib/j2ssh-core.jar;../common/syslib/extlib/jakarta-oro-2.0.8.jar;../common/syslib/extlib/jasper_1.1.1/commons-beanutils-1.5.jar;../common/syslib/extlib/jasper_1.1.1/commons-collections-2.1.jar;../common/syslib/extlib/jasper_1.1.1/commons-digester-1.7.jar;../common/syslib/extlib/jasper_1.1.1/commons-logging-1.0.2.jar;../common/syslib/extlib/jasper_1.1.1/itext-1.3.1.jar;../common/syslib/extlib/jasper_1.1.1/jasperreports-1.1.1.jar;../common/syslib/extlib/jasper_1.1.1/poi-2.0-final-20040126.jar;../common/syslib/extlib/javacc.jar;../common/syslib/extlib/jce-jdk13-119.jar;../common/syslib/extlib/jcommon-0.9.6.jar;../common/syslib/extlib/jfreechart-0.9.21.jar;../common/syslib/extlib/JGantt.jar;../common/syslib/extlib/jmx/jmxremote.jar;../common/syslib/extlib/jmx/jmxremote_optional.jar;../common/syslib/extlib/jmx/jmxri.jar;../common/syslib/extlib/jmx/jmxtools.jar;../common/syslib/extlib/jmx/rmissl.jar;../common/syslib/extlib/log4j-1.2.7.jar;../common/syslib/extlib/ohj-jewt.jar;../common/syslib/extlib/oracle_ice5.jar;../common/syslib/extlib/struts.jar;../common/syslib/extlib/WebSphereMQ/com.ibm.mq.jar;../common/syslib/extlib/WebSphereMQ/com.ibm.mqbind.jar;../common/syslib/extlib/WebSphereMQ/com.ibm.mqjms.jar;../common/syslib/extlib/WebSphereMQ/connector.jar;../common/syslib/extlib/WebSphereMQ/fscontext.jar;../common/syslib/extlib/WebSphereMQ/jms.jar;../common/syslib/extlib/WebSphereMQ/jndi.jar;../common/syslib/extlib/WebSphereMQ/jta.jar;../common/syslib/extlib/WebSphereMQ/ldap.jar;../common/syslib/extlib/WebSphereMQ/postcard.jar;../common/syslib/extlib/WebSphereMQ/providerutil.jar;../common/syslib/extlib/WebSphereMQ/rmm.jar;../common/syslib/extlib/xalan.jar;../common/syslib/extlib/xercesImpl.jar;../common/syslib/extlib/xml-apis.jar;../common/syslib/home/jsp/lib/taglib/ojsputil.jar;../common/syslib/home/lib/activation.jar;../common/syslib/home/lib/aqapi.jar;../common/syslib/home/lib/mail.jar;../common/syslib/home/lib/ojsp.jar;../common/syslib/home/lib/servlet.jar;../common/syslib/jdev-cm.jar;../common/syslib/jewt4-nls.jar;../common/syslib/jewt4.jar;../common/syslib/jlib/bc4jctvb.jar;../common/syslib/jlib/bc4jdatum.jar;../common/syslib/jlib/bc4jdomgnrc.jar;../common/syslib/jlib/bc4jimjui.jar;../common/syslib/jlib/bc4jmtvb.jar;../common/syslib/jlib/bc4jui.jar;../common/syslib/lib/bc4jct.jar;../common/syslib/lib/bc4jctejb.jar;../common/syslib/lib/bc4jdomorcl.jar;../common/syslib/lib/bc4jhtml.jar;../common/syslib/lib/bc4jimdomains.jar;../common/syslib/lib/bc4jmt.jar;../common/syslib/lib/bc4jmtejb.jar;../common/syslib/lib/classes12.jar;../common/syslib/lib/collections.jar;../common/syslib/lib/jdev-rt.jar;../common/syslib/lib/nls_charset12.jar;../common/syslib/LW_PfjBean.jar;../common/syslib/share.jar;../common/syslib/xmlparserv2.jar;D:\Projects\CGN\Farms\aodb_install/run/lib/aodb.jar;D:\Projects\CGN\Farms\aodb_install/run;D:\Projects\CGN\Farms\aodb_install\common\syslib\extlib\wrapper\windows\bin/../lib/wrapper.jar;D:\Projects\CGN\Farms\aodb_install\common\syslib\extlib\wrapper\windows\bin/../lib/wrappertest.jar" -Dwrapper.key="TfZd_kb2MCtMXNFB" -Dwrapper.port=32000 -Dwrapper.jvm.port.min=31000 -Dwrapper.jvm.port.max=31999 -Dwrapper.debug="TRUE" -Dwrapper.pid=2980 -Dwrapper.version="3.2.0" -Dwrapper.native_library="wrapper" -Dwrapper.service="TRUE" -Dwrapper.cpu.timeout="10" -Dwrapper.jvmid=1 org.tanukisoftware.wrapper.WrapperSimpleApp Wrappertest 10000 1 DEBUG | wrapper | 2006/06/19 09:07:54 | JVM started (PID=3464)
INFO | jvm 1 | 2006/06/19 09:07:57 | WrapperManager class initialized by thread: main Using classloader: sun.misc.Launcher$AppClassLoader@e80a59
INFO | jvm 1 | 2006/06/19 09:07:57 | Wrapper (Version 3.2.0) http://wrapper.tanukisoftware.org
INFO | jvm 1 | 2006/06/19 09:07:57 |
INFO | jvm 1 | 2006/06/19 09:07:57 | Wrapper Manager: JVM #1
INFO | jvm 1 | 2006/06/19 09:07:57 | Running a 32-bit JVM.
INFO | jvm 1 | 2006/06/19 09:07:57 | Wrapper Manager: Registering shutdown hook
INFO | jvm 1 | 2006/06/19 09:07:57 | Wrapper Manager: Using wrapper
INFO | jvm 1 | 2006/06/19 09:07:57 | Load native library. One or more attempts may fail if platform specific libraries do not exist.
INFO | jvm 1 | 2006/06/19 09:07:57 | Loading native library failed: wrapper-windows-x86-32.dll Cause: java.lang.UnsatisfiedLinkError: no wrapper-windows-x86-32 in java.library.path
INFO | jvm 1 | 2006/06/19 09:07:57 | Loaded native library: wrapper.dll
INFO | jvm 1 | 2006/06/19 09:07:57 | Calling native initialization method.
INFO | jvm 1 | 2006/06/19 09:07:57 | Initializing WrapperManager native library.
INFO | jvm 1 | 2006/06/19 09:07:57 | Java Executable: d:\Program Files\j2sdk1.4.2\bin\java.exe
INFO | jvm 1 | 2006/06/19 09:07:57 | Windows version: 5.1.2600
INFO | jvm 1 | 2006/06/19 09:07:57 | Java Version : 1.4.2_03-b02 Java HotSpot(TM) Client VM
INFO | jvm 1 | 2006/06/19 09:07:57 | Java VM Vendor : Sun Microsystems Inc.
INFO | jvm 1 | 2006/06/19 09:07:57 |
INFO | jvm 1 | 2006/06/19 09:07:57 | WrapperManager.start(org.tanukisoftware.wrapper.WrapperSimpleApp@1256ea2, args["10000", "1"]) called by thread: main
INFO | jvm 1 | 2006/06/19 09:07:57 | Open socket to wrapper...Wrapper-Connection
INFO | jvm 1 | 2006/06/19 09:07:57 | Failed attempt to bind using local port 31000
INFO | jvm 1 | 2006/06/19 09:07:57 | Opened Socket from 31001 to 32000
INFO | jvm 1 | 2006/06/19 09:07:57 | Send a packet KEY : TfZd_kb2MCtMXNFB
INFO | jvm 1 | 2006/06/19 09:07:57 | handleSocket(Socket[addr=/127.0.0.1,port=32000,localport=31001])
DEBUG | wrapperp | 2006/06/19 09:07:57 | accepted a socket from 127.0.0.1 on port 31001 DEBUG | wrapperp | 2006/06/19 09:07:57 | read a packet KEY : TfZd_kb2MCtMXNFB DEBUG | wrapper | 2006/06/19 09:07:57 | Got key from JVM: TfZd_kb2MCtMXNFB DEBUG | wrapperp | 2006/06/19 09:07:57 | send a packet LOW_LOG_LEVEL : 1 DEBUG | wrapperp | 2006/06/19 09:07:57 | send a packet PING_TIMEOUT : 30 DEBUG | wrapperp | 2006/06/19 09:07:57 | send a packet PROPERTIES : (Property Values) DEBUG | wrapper | 2006/06/19 09:07:57 | Start Application.
DEBUG | wrapperp | 2006/06/19 09:07:57 | send a packet START : start
INFO | jvm 1 | 2006/06/19 09:07:57 | Received a packet LOW_LOG_LEVEL : 1
INFO | jvm 1 | 2006/06/19 09:07:57 | Wrapper Manager: LowLogLevel from Wrapper is 1
INFO | jvm 1 | 2006/06/19 09:07:57 | Received a packet PING_TIMEOUT : 30
INFO | jvm 1 | 2006/06/19 09:07:57 | Wrapper Manager: PingTimeout from Wrapper is 30000
INFO | jvm 1 | 2006/06/19 09:07:57 | Received a packet PROPERTIES : (Property Values)
INFO | jvm 1 | 2006/06/19 09:07:57 | Monitoring of the JVM thread count will be delayed for 1 seconds.
INFO | jvm 1 | 2006/06/19 09:07:57 | Received a packet START : start
INFO | jvm 1 | 2006/06/19 09:07:57 | calling listener.start()
INFO | jvm 1 | 2006/06/19 09:07:57 | WrapperSimpleApp: start(args) Will wait up to 2 seconds for the main method to complete.
INFO | jvm 1 | 2006/06/19 09:07:57 | WrapperSimpleApp: invoking main method
INFO | jvm 1 | 2006/06/19 09:07:57 | WRAPPERTEST: #############################################
INFO | jvm 1 | 2006/06/19 09:07:57 | WRAPPERTEST: Sleeping for 10000ms
INFO | jvm 1 | 2006/06/19 09:07:58 | Send a packet START_PENDING : 5000
DEBUG | wrapperp | 2006/06/19 09:07:58 | read a packet START_PENDING : 5000 DEBUG | wrapper | 2006/06/19 09:07:58 | JVM signalled a start pending with waitHint of 5000 millis.
INFO | wrapper | 2006/06/19 09:07:59 | Waiting to start...
INFO | jvm 1 | 2006/06/19 09:07:59 | Send a packet START_PENDING : 5000
INFO | jvm 1 | 2006/06/19 09:07:59 | WrapperSimpleApp: start(args) end. Main Completed=false, exitCode=null
INFO | jvm 1 | 2006/06/19 09:07:59 | returned from listener.start()
INFO | jvm 1 | 2006/06/19 09:07:59 | Send a packet STARTED :
DEBUG | wrapperp | 2006/06/19 09:07:59 | read a packet START_PENDING : 5000 DEBUG | wrapper | 2006/06/19 09:07:59 | JVM signalled a start pending with waitHint of 5000 millis.
DEBUG | wrapperp | 2006/06/19 09:07:59 | read a packet STARTED :
DEBUG | wrapper | 2006/06/19 09:07:59 | JVM signalled that it was started.
DEBUG | wrapperp | 2006/06/19 09:07:59 | send a packet PING : ping
INFO | jvm 1 | 2006/06/19 09:07:59 | Received a packet PING : ping
INFO | jvm 1 | 2006/06/19 09:07:59 | Send a packet PING : ok
DEBUG | wrapperp | 2006/06/19 09:07:59 | read a packet PING : ok DEBUG | wrapper | 2006/06/19 09:07:59 | Got ping response from JVM STATUS | wrapper | 2006/06/19 09:08:01 | WRAPPERTEST started.
DEBUG | wrapperp | 2006/06/19 09:08:04 | send a packet PING : ping
INFO | jvm 1 | 2006/06/19 09:08:04 | Received a packet PING : ping
INFO | jvm 1 | 2006/06/19 09:08:04 | Send a packet PING : ok
INFO | jvm 1 | 2006/06/19 09:08:04 | Non-daemon thread count = 2 - 1(system) = 1
DEBUG | wrapperp | 2006/06/19 09:08:04 | read a packet PING : ok DEBUG | wrapper | 2006/06/19 09:08:04 | Got ping response from JVM
INFO | jvm 1 | 2006/06/19 09:08:07 | WRAPPERTEST: Exiting with code 1
INFO | jvm 1 | 2006/06/19 09:08:07 | Wrapper Manager: ShutdownHook started
INFO | jvm 1 | 2006/06/19 09:08:07 | WrapperManager.stop(0) called by thread: Wrapper-Shutdown-Hook
INFO | jvm 1 | 2006/06/19 09:08:07 | Send a packet STOP : 0
DEBUG | wrapperp | 2006/06/19 09:08:07 | read a packet STOP : 0 DEBUG | wrapper | 2006/06/19 09:08:07 | JVM requested a shutdown. (0) DEBUG | wrapper | 2006/06/19 09:08:07 | wrapperStopProcess(0) called.
DEBUG | wrapper | 2006/06/19 09:08:07 | Sending stop signal to JVM DEBUG | wrapperp | 2006/06/19 09:08:07 | send a packet STOP : NULL
INFO | jvm 1 | 2006/06/19 09:08:07 | Received a packet STOP :
INFO | jvm 1 | 2006/06/19 09:08:07 | Non-daemon thread count = 3 - 1(system) = 2
INFO | jvm 1 | 2006/06/19 09:08:08 | Thread, Wrapper-Shutdown-Hook, handling the shutdown process.
INFO | jvm 1 | 2006/06/19 09:08:08 | calling listener.stop()
INFO | jvm 1 | 2006/06/19 09:08:08 | WrapperSimpleApp: stop(0)
INFO | jvm 1 | 2006/06/19 09:08:08 | returned from listener.stop()
INFO | jvm 1 | 2006/06/19 09:08:08 | Send a packet STOPPED : 0
DEBUG | wrapperp | 2006/06/19 09:08:08 | read a packet STOPPED : 0 DEBUG | wrapper | 2006/06/19 09:08:08 | JVM signalled that it was stopped.
INFO | jvm 1 | 2006/06/19 09:08:09 | Closing socket.
INFO | jvm 1 | 2006/06/19 09:08:09 | Closed socket: java.net.SocketException: socket closed
DEBUG | wrapperp | 2006/06/19 09:08:09 | socket read no code (closed?).
DEBUG | wrapperp | 2006/06/19 09:08:09 | server listening on port 32001.
INFO | jvm 1 | 2006/06/19 09:08:09 | Server daemon shut down
INFO | jvm 1 | 2006/06/19 09:08:09 | Wrapper Manager: ShutdownHook complete
DEBUG | wrapper | 2006/06/19 09:08:09 | JVM process exited with a code of 1, setting the wrapper exit code to 1.
DEBUG | wrapper | 2006/06/19 09:08:09 | JVM exited normally.
STATUS | wrapper | 2006/06/19 09:08:09 | <-- Wrapper Stopped
What am I doing wrong?
Thanks,
Andreas
|