|
From: <did...@vo...> - 2005-03-23 14:48:49
|
Hi, I'm using the Java Service Wrapper to launch a Java Web Start application as a NT Service (W2000). To do so, I followed the instructions given here : <http://www.seajug.org/vqwiki/jsp/Wiki?JavaWebStartTips> My application runs fine, but in the Service Panel, my service is showed as 'not running'. I investigated a bit and found out that : - the wrapper launches a JVM for JWS - JWS launches another JVM for my application - the JWS JVM ends normally and my application still runs fine - the wrapper ends and the service is showed as 'not running' - my application is still running as a 'javaw.exe' process in the windows task manager. The fact that the service is not showed as 'running' is confusing. The admin may want to start my application again and again. So, is there a way to avoid this behavior? To illustrate this, here is the output for a console execution : C:\bin\wrapper>Wrapper.exe -c wrapper.conf wrapper | --> Wrapper Started as Console wrapper | Using system timer. wrapperp | server listening on port 1777. wrapper | Launching a JVM... wrapper | command: "C:\Program Files\Java\j2re1.4.2_04\bin\javaw.exe" -Djnlpx.deployment.system.home="C:\WINNT\Sun\Java\Deployment" -Djnlpx.heapsize=NULL,NULL -DtrustProxy?=true -Djnlpx.deployment.user.home="C:\Documents and Settings\dduquennoy\Application Data\Sun\Java\Deployment" -Djnlpx.jvm="C:\Program Files\Java\j2re1.4.2_04\bin\javaw.exe" -Djava.security.policy="file:/C:\batch/wrapper.policy" -Djnlpx.home="C:\Program Files\Java\j2re1.4.2_04\javaws" -Dwrapper.home="C:\batch" -Djnlpx.remove=false -Djnlpx.offline=true -Xms15m -Xmx15m -Djava.library.path="." -classpath "wrapper.jar;C:\Program Files\Java\j2re1.4.2_04\javaws\javaws.jar;C:\Program Files\Java\j2re1.4.2_04\javaws\javaws-l10n.jar" -Dwrapper.key="IQDTkRUQsJMB39d5" -Dwrapper.port=1777 -Dwrapper.debug="TRUE" -Dwrapper.use_system_time="TRUE" -Dwrapper.version="3.1.2" -Dwrapper.native_library="wrapper" -Dwrapper.cpu.timeout="10" -Dwrapper.jvmid=1 org.tanukisoftware.wrapper.WrapperSimpleApp com.sun.javaws.Main http://JWSServ/JWSProvider/myApp.jnlp wrapper | JVM started (PID=1692) jvm 1 | WrapperManager class initialized by thread: main Using classloader: sun.misc.Launcher$AppClassLoader@1ff5ea7 jvm 1 | Wrapper Manager: JVM #1 jvm 1 | Wrapper Manager: Registering shutdown hook jvm 1 | Wrapper Manager: Using wrapper jvm 1 | Loaded native library: wrapper.dll jvm 1 | Calling native initialization method. jvm 1 | Initializing WrapperManager native library. jvm 1 | Java Executable: C:\Program Files\Java\j2re1.4.2_04\bin\javaw.exe jvm 1 | Windows version: 5.0.2195 jvm 1 | Java Version : 1.4.2_04-b05 Java HotSpot(TM) Client VM jvm 1 | Java VM Vendor : Sun Microsystems Inc. jvm 1 | jvm 1 | Wrapper (Version 3.1.2) http://wrapper.tanukisoftware.org jvm 1 | jvm 1 | WrapperManager.start(org.tanukisoftware.wrapper.WrapperSimpleApp@8965fb, args["http://JWSServ/JWSProvider/myApp.jnlp"]) called by thread: main jvm 1 | Open socket to wrapper... jvm 1 | Opened Socket jvm 1 | Send a packet KEY : IQDTkRUQsJMB39d5 jvm 1 | handleSocket(Socket[addr=/127.0.0.1,port=1777,localport=2815]) wrapperp | accepted a socket from 127.0.0.1 on port 2815 wrapperp | read a packet KEY : IQDTkRUQsJMB39d5 wrapper | Got key from JVM: IQDTkRUQsJMB39d5 wrapperp | send a packet LOW_LOG_LEVEL : 1 wrapperp | send a packet PING_TIMEOUT : 30 wrapper | Start Application. wrapperp | send a packet START : start jvm 1 | Received a packet LOW_LOG_LEVEL : 1 jvm 1 | Wrapper Manager: LowLogLevel from Wrapper is 1 jvm 1 | Received a packet PING_TIMEOUT : 30 jvm 1 | Wrapper Manager: PingTimeout from Wrapper is 30000 jvm 1 | Received a packet START : start jvm 1 | calling listener.start() jvm 1 | WrapperSimpleApp: start(args) jvm 1 | WrapperSimpleApp: invoking main method jvm 1 | WrapperSimpleApp: main method completed jvm 1 | WrapperSimpleApp: start(args) end. Main Completed=true, exitCode=null jvm 1 | returned from listener.start() jvm 1 | Send a packet STARTED : wrapperp | read a packet STARTED : wrapper | JVM signalled that it was started. wrapperp | send a packet PING : ping jvm 1 | Received a packet PING : ping jvm 1 | Send a packet PING : ok wrapperp | read a packet PING : ok wrapper | Got ping response from JVM jvm 1 | Wrapper Manager: ShutdownHook started jvm 1 | WrapperManager.stop(0) called by thread: Wrapper-Shutdown-Hook jvm 1 | Send a packet STOP : 0 wrapperp | read a packet STOP : 0 wrapper | JVM requested a shutdown. (0) wrapper | wrapperStopProcess(0) called. wrapper | Sending stop signal to JVM wrapperp | send a packet STOP : NULL jvm 1 | Received a packet STOP : jvm 1 | Thread, Wrapper-Shutdown-Hook, handling the shutdown process. jvm 1 | calling listener.stop() jvm 1 | returned from listener.stop() jvm 1 | Send a packet STOPPED : 0 wrapperp | read a packet STOPPED : 0 wrapper | JVM signalled that it was stopped. jvm 1 | Closing socket. jvm 1 | Closed socket: java.net.SocketException: socket closed wrapperp | socket read no code (closed?). jvm 1 | Server daemon shut down jvm 1 | Wrapper Manager: ShutdownHook complete wrapper | JVM process exited with a code of 0, leaving the wrapper exit code set to 0. wrapper | JVM exited normally. wrapper | <-- Wrapper Stopped C:\bin\wrapper> Any hint welcome, Didier D ------------------------------------------ Faites un voeu et puis Voila ! www.voila.fr |