|
From: region r. <reg...@ma...> - 2006-05-03 15:36:42
|
We are having an issue to run the NT service that was successfully installed. Here is our wrapper.conf content: ________________________________________________________________________ wrapper.working.dir=../ wrapper.java.command=%JAVA_HOME%/bin/java wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp wrapper.java.classpath.1=lib/wrapper.jar wrapper.java.classpath.2=jars/ wrapper.java.classpath.3=jars/safestore.jar wrapper.java.library.path.1=lib wrapper.app.parameter.1=org.contego.backup.client.scheduler.SchedulerSet wrapper.console.format=PM wrapper.console.loglevel=DEBUG wrapper.console.flush=true wra...@ap...@ wrapper.logfile=logs/wrapper.log wrapper.logfile.format=LPTM wrapper.logfile.loglevel=DEBUG wrapper.logfile.maxsize=0 wrapper.logfile.maxfiles=0 wrapper.syslog.loglevel=NONE wrapper.ntservice.name=Scheduler wrapper.ntservice.displayname=Scheduler Service wrapper.ntservice.description=Manages scheduled backups wrapper.ntservice.dependency.1= wrapper.ntservice.starttype=AUTO_START wrapper.ntservice.interactive=true ________________________________________________________________________ And here is wrapper.log content we're getting when trying to run the main method of Application through the NT Service installed with .bat file: ________________________________________________________________________ DEBUG | wrapper | 2006/05/03 10:55:05 | Working directory set to: ../ STATUS | wrapper | 2006/05/03 10:55:05 | --> Wrapper Started as Service DEBUG | wrapper | 2006/05/03 10:55:05 | Using tick timer. DEBUG | wrapperp | 2006/05/03 10:55:05 | server listening on port 32000. STATUS | wrapper | 2006/05/03 10:55:05 | Launching a JVM... DEBUG | wrapper | 2006/05/03 10:55:05 | command: "C:\Program Files\Java\jdk1.5.0_05\bin\java" -Djava.library.path="lib" -classpath "lib/wrapper.jar;jars/;jars/safestore.jar" -Dwrapper.key="gEJ_S_g9KF9ECOnf" -Dwrapper.port=32000 -Dwrapper.jvm.port.min=31000 -Dwrapper.jvm.port.max=31999 -Dwrapper.debug="TRUE" -Dwrapper.pid=3900 -Dwrapper.version="3.2.0" -Dwrapper.native_library="wrapper" -Dwrapper.service="TRUE" -Dwrapper.cpu.timeout="10" -Dwrapper.jvmid=1 org.tanukisoftware.wrapper.WrapperSimpleApp org.contego.backup.client.scheduler.SchedulerSet DEBUG | wrapper | 2006/05/03 10:55:05 | JVM started (PID=3716) INFO | jvm 1 | 2006/05/03 10:55:05 | WrapperManager class initialized by thread: main Using classloader: sun.misc.Launcher$AppClassLoader@cc7ad6 INFO | jvm 1 | 2006/05/03 10:55:05 | Wrapper (Version 3.2.0) http://wrapper.tanukisoftware.org INFO | jvm 1 | 2006/05/03 10:55:05 | INFO | jvm 1 | 2006/05/03 10:55:05 | Wrapper Manager: JVM #1 INFO | jvm 1 | 2006/05/03 10:55:05 | Running a 32-bit JVM. INFO | jvm 1 | 2006/05/03 10:55:05 | Wrapper Manager: Registering shutdown hook INFO | jvm 1 | 2006/05/03 10:55:05 | Wrapper Manager: Using wrapper INFO | jvm 1 | 2006/05/03 10:55:05 | Load native library. One or more attempts may fail if platform specific libraries do not exist. INFO | jvm 1 | 2006/05/03 10:55:05 | 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/05/03 10:55:05 | Loaded native library: wrapper.dll INFO | jvm 1 | 2006/05/03 10:55:05 | Calling native initialization method. INFO | jvm 1 | 2006/05/03 10:55:05 | Initializing WrapperManager native library. INFO | jvm 1 | 2006/05/03 10:55:05 | Java Executable: C:\Program Files\Java\jdk1.5.0_05\bin\java.exe INFO | jvm 1 | 2006/05/03 10:55:05 | Windows version: 5.1.2600 INFO | jvm 1 | 2006/05/03 10:55:05 | Java Version : 1.5.0_05-b05 Java HotSpot(TM) Client VM INFO | jvm 1 | 2006/05/03 10:55:05 | Java VM Vendor : Sun Microsystems Inc. INFO | jvm 1 | 2006/05/03 10:55:05 | INFO | jvm 1 | 2006/05/03 10:55:05 | WrapperManager.start(org.tanukisoftware.wrapper.WrapperSimpleApp@1e0cf70, args[]) called by thread: main INFO | jvm 1 | 2006/05/03 10:55:05 | Open socket to wrapper...Wrapper-Connection INFO | jvm 1 | 2006/05/03 10:55:05 | Opened Socket from 31000 to 32000 INFO | jvm 1 | 2006/05/03 10:55:05 | Send a packet KEY : gEJ_S_g9KF9ECOnf INFO | jvm 1 | 2006/05/03 10:55:05 | handleSocket(Socket[addr=localhost/127.0.0.1,port=32000,localport=31000]) DEBUG | wrapperp | 2006/05/03 10:55:05 | accepted a socket from 127.0.0.1 on port 31000 DEBUG | wrapperp | 2006/05/03 10:55:05 | read a packet KEY : gEJ_S_g9KF9ECOnf DEBUG | wrapper | 2006/05/03 10:55:05 | Got key from JVM: gEJ_S_g9KF9ECOnf DEBUG | wrapperp | 2006/05/03 10:55:05 | send a packet LOW_LOG_LEVEL : 1 DEBUG | wrapperp | 2006/05/03 10:55:05 | send a packet PING_TIMEOUT : 30 DEBUG | wrapperp | 2006/05/03 10:55:05 | send a packet PROPERTIES : (Property Values) DEBUG | wrapper | 2006/05/03 10:55:05 | Start Application. DEBUG | wrapperp | 2006/05/03 10:55:05 | send a packet START : start INFO | jvm 1 | 2006/05/03 10:55:05 | Received a packet LOW_LOG_LEVEL : 1 INFO | jvm 1 | 2006/05/03 10:55:05 | Wrapper Manager: LowLogLevel from Wrapper is 1 INFO | jvm 1 | 2006/05/03 10:55:05 | Received a packet PING_TIMEOUT : 30 INFO | jvm 1 | 2006/05/03 10:55:05 | Wrapper Manager: PingTimeout from Wrapper is 30000 INFO | jvm 1 | 2006/05/03 10:55:05 | Received a packet PROPERTIES : (Property Values) INFO | jvm 1 | 2006/05/03 10:55:05 | Monitoring of the JVM thread count will be delayed for 1 seconds. INFO | jvm 1 | 2006/05/03 10:55:05 | Received a packet START : start INFO | jvm 1 | 2006/05/03 10:55:05 | calling listener.start() INFO | jvm 1 | 2006/05/03 10:55:05 | WrapperSimpleApp: start(args) Will wait up to 2 seconds for the main method to complete. INFO | jvm 1 | 2006/05/03 10:55:05 | WrapperSimpleApp: invoking main method INFO | jvm 1 | 2006/05/03 10:55:05 | pieces: null INFO | jvm 1 | 2006/05/03 10:55:05 | INFO | jvm 1 | 2006/05/03 10:55:05 | WrapperSimpleApp: Encountered an error running main: java.lang.NullPointerException INFO | jvm 1 | 2006/05/03 10:55:05 | java.lang.NullPointerException INFO | jvm 1 | 2006/05/03 10:55:05 | at java.io.ByteArrayInputStream.<init>(ByteArrayInputStream.java:89) INFO | jvm 1 | 2006/05/03 10:55:05 | at org.contego.backup.client.scheduler.SchedulerSet.main(SchedulerSet.java:95) INFO | jvm 1 | 2006/05/03 10:55:05 | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) INFO | jvm 1 | 2006/05/03 10:55:05 | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) INFO | jvm 1 | 2006/05/03 10:55:05 | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) INFO | jvm 1 | 2006/05/03 10:55:05 | at java.lang.reflect.Method.invoke(Method.java:585) INFO | jvm 1 | 2006/05/03 10:55:05 | at org.tanukisoftware.wrapper.WrapperSimpleApp.run(WrapperSimpleApp.java:197) INFO | jvm 1 | 2006/05/03 10:55:05 | at java.lang.Thread.run(Thread.java:595) INFO | jvm 1 | 2006/05/03 10:55:05 | WrapperSimpleApp: start(args) end. Main Completed=true, exitCode=1 INFO | jvm 1 | 2006/05/03 10:55:05 | WrapperManager.stop(1) called by thread: Wrapper-Connection INFO | jvm 1 | 2006/05/03 10:55:05 | Send a packet STOP : 1 DEBUG | wrapperp | 2006/05/03 10:55:05 | read a packet STOP : 1 DEBUG | wrapper | 2006/05/03 10:55:05 | JVM requested a shutdown. (1) DEBUG | wrapper | 2006/05/03 10:55:05 | wrapperStopProcess(1) called. DEBUG | wrapper | 2006/05/03 10:55:05 | Sending stop signal to JVM DEBUG | wrapperp | 2006/05/03 10:55:05 | send a packet STOP : NULL INFO | jvm 1 | 2006/05/03 10:55:06 | Thread, Wrapper-Connection, handling the shutdown process. INFO | jvm 1 | 2006/05/03 10:55:06 | Send a packet STOPPED : 0 DEBUG | wrapperp | 2006/05/03 10:55:06 | read a packet STOPPED : 0 DEBUG | wrapper | 2006/05/03 10:55:06 | JVM signalled that it was stopped. INFO | jvm 1 | 2006/05/03 10:55:06 | Closing socket. DEBUG | wrapperp | 2006/05/03 10:55:06 | socket read no code (closed?). DEBUG | wrapperp | 2006/05/03 10:55:06 | server listening on port 32002. INFO | jvm 1 | 2006/05/03 10:55:07 | calling System.exit(1) DEBUG | wrapper | 2006/05/03 10:55:07 | JVM process exited with a code of 1, however the wrapper exit code was already 1. DEBUG | wrapper | 2006/05/03 10:55:07 | JVM exited normally. STATUS | wrapper | 2006/05/03 10:55:07 | <-- Wrapper Stopped ________________________________________________________________________ Log shows that invoking the main method causes NullPointerException : INFO | jvm 1 | 2006/05/03 10:55:05 | pieces: null But invoking the same method from the command line produces the result we want: D:\test\cx>java -cp "D:\test\cx\jars;D:\test\cx\jars\safestore.jar" org.contego.backup.client.scheduler.SchedulerSet pieces: [B@1af9e22 So pieces is not null in this case. The code that causes java.lang.NullPointerException is this: Preferences preferences = Preferences.userNodeForPackage(this.getClass()); Preferences node = preferences.node("settings"); byte pieces[] = new byte[0]; pieces = node.getByteArray("0", null); System.out.println("pieces: " + pieces); ByteArrayInputStream bais = new ByteArrayInputStream(pieces); This error is because node.getByteArray("0", null) returns null instead of byte array. It causes new ByteArrayInputStream(pieces) to return error because there is no such a constructor ByteArrayInputStream(null). Please give us the right direction what to do. Except this issue everything works fine as we expected. We use first intergration method as was recommended. Thanks very much for help and assistance. |