You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(5) |
Oct
(13) |
Nov
(16) |
Dec
(29) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(38) |
Feb
(51) |
Mar
(51) |
Apr
(115) |
May
(82) |
Jun
(30) |
Jul
(50) |
Aug
(68) |
Sep
(57) |
Oct
(160) |
Nov
(80) |
Dec
(78) |
| 2004 |
Jan
(71) |
Feb
(75) |
Mar
(108) |
Apr
(87) |
May
(79) |
Jun
(70) |
Jul
(69) |
Aug
(39) |
Sep
(52) |
Oct
(47) |
Nov
(50) |
Dec
(32) |
| 2005 |
Jan
(22) |
Feb
(122) |
Mar
(46) |
Apr
(76) |
May
(31) |
Jun
(51) |
Jul
(61) |
Aug
(70) |
Sep
(37) |
Oct
(46) |
Nov
(57) |
Dec
(83) |
| 2006 |
Jan
(55) |
Feb
(81) |
Mar
(51) |
Apr
(67) |
May
(77) |
Jun
(43) |
Jul
(106) |
Aug
(64) |
Sep
(47) |
Oct
(64) |
Nov
(60) |
Dec
(12) |
| 2007 |
Jan
(50) |
Feb
(93) |
Mar
(49) |
Apr
(56) |
May
(40) |
Jun
(63) |
Jul
(40) |
Aug
(47) |
Sep
(54) |
Oct
(37) |
Nov
(54) |
Dec
(37) |
| 2008 |
Jan
(35) |
Feb
(39) |
Mar
(26) |
Apr
(14) |
May
(23) |
Jun
(51) |
Jul
(43) |
Aug
(26) |
Sep
(29) |
Oct
(31) |
Nov
(24) |
Dec
(16) |
| 2009 |
Jan
(21) |
Feb
(30) |
Mar
(74) |
Apr
(26) |
May
(26) |
Jun
(43) |
Jul
(23) |
Aug
(23) |
Sep
(15) |
Oct
(27) |
Nov
(37) |
Dec
(10) |
| 2010 |
Jan
(16) |
Feb
(28) |
Mar
(16) |
Apr
(45) |
May
(8) |
Jun
(68) |
Jul
(45) |
Aug
(44) |
Sep
(51) |
Oct
(7) |
Nov
(20) |
Dec
(21) |
| 2011 |
Jan
(14) |
Feb
(17) |
Mar
(7) |
Apr
(7) |
May
(48) |
Jun
(23) |
Jul
(5) |
Aug
(33) |
Sep
(22) |
Oct
(14) |
Nov
(14) |
Dec
(5) |
| 2012 |
Jan
|
Feb
(10) |
Mar
(12) |
Apr
(51) |
May
(10) |
Jun
(8) |
Jul
(14) |
Aug
(22) |
Sep
(9) |
Oct
(24) |
Nov
(14) |
Dec
(13) |
| 2013 |
Jan
(12) |
Feb
(4) |
Mar
(14) |
Apr
(19) |
May
(2) |
Jun
(5) |
Jul
(13) |
Aug
(10) |
Sep
(4) |
Oct
(11) |
Nov
(13) |
Dec
(2) |
| 2014 |
Jan
(3) |
Feb
(14) |
Mar
(5) |
Apr
(10) |
May
(10) |
Jun
(11) |
Jul
(10) |
Aug
(3) |
Sep
(13) |
Oct
(22) |
Nov
(14) |
Dec
(32) |
| 2015 |
Jan
(8) |
Feb
(2) |
Mar
(17) |
Apr
(1) |
May
(24) |
Jun
|
Jul
(4) |
Aug
|
Sep
(9) |
Oct
(9) |
Nov
(5) |
Dec
(2) |
| 2016 |
Jan
(8) |
Feb
(6) |
Mar
(6) |
Apr
(9) |
May
(3) |
Jun
(2) |
Jul
(7) |
Aug
(6) |
Sep
|
Oct
|
Nov
(1) |
Dec
(6) |
| 2017 |
Jan
(9) |
Feb
(8) |
Mar
(6) |
Apr
|
May
|
Jun
(3) |
Jul
(13) |
Aug
(10) |
Sep
(8) |
Oct
|
Nov
(6) |
Dec
|
| 2018 |
Jan
|
Feb
(5) |
Mar
(7) |
Apr
(2) |
May
|
Jun
|
Jul
(3) |
Aug
(2) |
Sep
(9) |
Oct
(1) |
Nov
(1) |
Dec
(1) |
| 2019 |
Jan
(9) |
Feb
|
Mar
|
Apr
(10) |
May
(3) |
Jun
|
Jul
(7) |
Aug
(1) |
Sep
|
Oct
(2) |
Nov
|
Dec
|
| 2020 |
Jan
(1) |
Feb
(1) |
Mar
(1) |
Apr
|
May
|
Jun
(3) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
| 2021 |
Jan
(1) |
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
(3) |
| 2022 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
| 2023 |
Jan
(3) |
Feb
|
Mar
(1) |
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2024 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
(1) |
Jun
(1) |
Jul
(1) |
Aug
|
Sep
(1) |
Oct
|
Nov
(1) |
Dec
|
| 2025 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
(1) |
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
| 2026 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: hhale21 <hh...@ya...> - 2009-08-19 15:40:45
|
Hello, I am using JSW 3.2.3. We are experiencing some odd behaviour of our servers on single CPU/core Windows XP/SP3 (32bit) computers. I am looking for ways to try and troubleshoot this problem. There are 3 different servers running as windows services using the wrapper.exe. On a regular basis 1 or more of these servers is getting jvm hung messages and are being started. This seems only to occur on single core/CPU computers. Have not observed this on multi core CPUs. I have wrapper.debug=true in the conf files. I don't seen anything in the log files other that logging for the application stops completly for 30 secs (default wrapper ping value) before the jvm is restarted. I tried starting one of the servers using the wrapper.exe as regular process (as opposed to a service). The hang does not occur however one of the threads in the application is using almost 100% of the CPU constantly. I am using Process Explorer inspect the process. JVM has not occurred when not run as service. When I run the server without the wrapper.exe, I don't have the thread that uses 100% of the CPU and so far the server has run with out any issues. Just looking for some feedback on how to troubleshoot this problem. Thanks -- View this message in context: http://www.nabble.com/jvm-hung-and-high-CPU-usage-with-wrapper-tp25046592p25046592.html Sent from the Java Service Wrapper mailing list archive at Nabble.com. |
|
From: CraZyWolF - <cra...@ho...> - 2009-08-11 14:29:40
|
It was simply a configuration problem due to a misanderstanding of documentation, and the fact that the application was launched even if there was a wrong first parameter, that appears with the wrapper.java.command.loglevel=INFO. Thanks for the Help !! Cheers, Crazywolf > Date: Tue, 11 Aug 2009 21:42:43 +0900 > From: lei...@ta... > To: wra...@li... > Subject: Re: [Wrapper-user] xml validation enabled when using wrapper > > Most likely you are not running the correct JVM. This is actually a fairly > common problem when running as a service if you have the Wrapper configured > to locate its JVM on the system PATH. The problem is that your PATH as the > "you" user is not the same as the SYSTEM user. > > To confirm this, try adding the following property to see the full command > line used to launch JAVA. It will have the java command path normalized. > wrapper.java.command.loglevel=INFO > > You probably want to either update the SYSTEM path or change your > configuration file to something like the following. The first line sets > the JAVA_HOME environment variable. You may want to skip that and define > it globally. > set.JAVA_COMMAND=C:¥path¥to¥JVM > wrapper.java.command=%JAVA_HOME%/bin/java > > Hope this helps. > > Cheers, > Leif > > On Tue, Aug 11, 2009 at 9:14 PM, CraZyWolF -<cra...@ho...> wrote: > > Hello, > > > > > > I'm using the wrapper 3.3.5 to launch an application based on JBoss. > > > > When executing the command line from the console it works, but when I'm > > launching the wrapper (WrapperSimpleApp method) I've got a Sax parse > > exception on the xml configuration file of the application. The thing is : > > there is no validation document for this xml file, so I think the > > validation is disabled in "my" program. It seems that using the wrapper > > causes the validation to be active. But i've no idea how to disable it, I > > can't modify the application. I could create a validation document for this > > particular xml file, but I'm worried about having the same problem with > > other xml files. > > > > Any idea would be greatly appreciated. > > > > > > Thanks, > > Crazywolf > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > Wrapper-user mailing list > Wra...@li... > https://lists.sourceforge.net/lists/listinfo/wrapper-user _________________________________________________________________ Découvrez toutes les possibilités de communication avec vos proches http://www.microsoft.com/windows/windowslive/default.aspx |
|
From: Leif M. <lei...@ta...> - 2009-08-11 12:43:03
|
Most likely you are not running the correct JVM. This is actually a fairly common problem when running as a service if you have the Wrapper configured to locate its JVM on the system PATH. The problem is that your PATH as the "you" user is not the same as the SYSTEM user. To confirm this, try adding the following property to see the full command line used to launch JAVA. It will have the java command path normalized. wrapper.java.command.loglevel=INFO You probably want to either update the SYSTEM path or change your configuration file to something like the following. The first line sets the JAVA_HOME environment variable. You may want to skip that and define it globally. set.JAVA_COMMAND=C:¥path¥to¥JVM wrapper.java.command=%JAVA_HOME%/bin/java Hope this helps. Cheers, Leif On Tue, Aug 11, 2009 at 9:14 PM, CraZyWolF -<cra...@ho...> wrote: > Hello, > > > I'm using the wrapper 3.3.5 to launch an application based on JBoss. > > When executing the command line from the console it works, but when I'm > launching the wrapper (WrapperSimpleApp method) I've got a Sax parse > exception on the xml configuration file of the application. The thing is : > there is no validation document for this xml file, so I think the > validation is disabled in "my" program. It seems that using the wrapper > causes the validation to be active. But i've no idea how to disable it, I > can't modify the application. I could create a validation document for this > particular xml file, but I'm worried about having the same problem with > other xml files. > > Any idea would be greatly appreciated. > > > Thanks, > Crazywolf |
|
From: CraZyWolF - <cra...@ho...> - 2009-08-11 12:22:02
|
Hello, I'm using the wrapper 3.3.5 to launch an application based on JBoss. When executing the command line from the console it works, but when I'm launching the wrapper (WrapperSimpleApp method) I've got a Sax parse exception on the xml configuration file of the application. The thing is : there is no validation document for this xml file, so I think the validation is disabled in "my" program. It seems that using the wrapper causes the validation to be active. But i've no idea how to disable it, I can't modify the application. I could create a validation document for this particular xml file, but I'm worried about having the same problem with other xml files. Any idea would be greatly appreciated. Thanks, Crazywolf _________________________________________________________________ Inédit ! Des Emoticônes Déjantées! Installez les dans votre Messenger ! http://www.ilovemessenger.fr/Emoticones/EmoticonesDejantees.aspx |
|
From: Leif M. <lei...@ta...> - 2009-08-07 22:37:31
|
Stas, a PRIORITY of -2 will adjust the nice level of the Wrapper process by -2 (meaning that it has higher priority than normal). The Java process will also be affected in this way so it will cause your Wrapped java to obtain the same priority as a standalone Java. I am still not sure that this is a problem as it seems to be that the scheduler is deciding to adjust the priority in this way. Cheers, Leif On Sat, Aug 8, 2009 at 5:32 AM, Stas Oskin<sta...@gm...> wrote: > Hi Leif. > >> >> A work around is to set the PRIORITY in the shell script to -2. That >> requires that the user be root to do so however. >> > > Can you remind me what this setting (-2) does, and how it helps with the > matter? > > Thanks. |
|
From: Stas O. <sta...@gm...> - 2009-08-07 20:32:52
|
Hi Leif. > A work around is to set the PRIORITY in the shell script to -2. That > requires that the user be root to do so however. > > Can you remind me what this setting (-2) does, and how it helps with the matter? Thanks. |
|
From: Leif M. <lei...@ta...> - 2009-08-07 06:20:23
|
Stas, I have been looking into this again the last couple days. While I can't say that I understand it fully, I am getting closer to doing so. If you run "ps -eo pid,ni,pri,comm" you will see the nice level along with the priority. The priority actually changes over time depending on the CPU usage. For an idle Java application, it is also different when running a Java application using Swing vs one that is not. If I run the Wrapper with a nice value of 10, then the Wrapper and Java are both shifted in priority by exactly 10 as expected. On my linux machine, running a headless Java application under the Wrapper, the wrapper process will have a priority of 24 and java will be 17. Another test had it at 19 however. If I use the generated command line to launch java directly it will have a priority of 19. This means that java gets a lower priority when running under the Wrapper as you reported. The thing that I am yet to understand is why the stand alone Java is not getting the same priority as the Wrapper, 24. I did some experiments with loading up Java etc and it appears to dynamically change the priority depending on other demands on the system. In one test, the Wrapper had priority 24, but the java process fluctuated between 20 and 22. If anyone could shed some light on how this is supposed to be working I would appreciate the input. Ideally it would be nice if Java always got the same default idle priority when running under the Wrapper as when running standalone. It does sometimes, but most of the time it is lower. A work around is to set the PRIORITY in the shell script to -2. That requires that the user be root to do so however. Cheers, Leif On Thu, Aug 6, 2009 at 6:47 AM, Stas Oskin<sta...@gm...> wrote: > Hi Leif. > > How are you? > >> Currently, the Wrapper is not doing anything special with the process >> priorities. It appears that the OS launches all "top-level" processes >> at the same level. Ie the Wrapper, or Java when run standalone. Then >> child processes are given a lower priority. When Java is run under >> the Wrapper, this means that it is getting a slightly lower priority >> than it would if it was run standalone. >> >> We are looking into options to work around this. > > I'm looking to give a 2nd try for Tanuki wrapper - any idea if this issue > was resolved on Linux? > > Thanks. -- Leif Mortenson Tanuki Software, Ltd. 6-16-7-1001 Nishi-Kasai, Edogawa-ku Tokyo 134-0088 Japan Tel/Fax: +81-3-3878-3211 http://www.tanukisoftware.com lei...@ta... |
|
From: Stas O. <sta...@gm...> - 2009-08-05 21:47:32
|
Hi Leif. How are you? Currently, the Wrapper is not doing anything special with the process > priorities. It appears that the OS launches all "top-level" processes > at the same level. Ie the Wrapper, or Java when run standalone. Then > child processes are given a lower priority. When Java is run under > the Wrapper, this means that it is getting a slightly lower priority > than it would if it was run standalone. > > We are looking into options to work around this. I'm looking to give a 2nd try for Tanuki wrapper - any idea if this issue was resolved on Linux? Thanks. |
|
From: Leif M. <lei...@ta...> - 2009-08-01 06:01:36
|
James, UNIX OSs normally kill all processes launched by a terminal session when that terminal is closed to prevent zombie processes from being left around. When you run "jboss console", you are telling the Wrapper to run the Wrapper directly within that terminal so the console output can be viewed directly. If you want the Wrapper to remain after the terminal is closed, the Wrapper must detach itself and run as a daemon process. This is done by running "jboss start". You can then stop the Wrapper by running "jboss stop". Hope this helps, Cheers, Leif On Sat, Aug 1, 2009 at 8:03 AM, James Dekker<jam...@gm...> wrote: > Hello there, > > I am having trouble running JBoss as a service on a remote Fedora 8 > (32 bit) server through which I access by doing SSH... > > Have installed JBoss 5.1.0 GA under the root user and didn't create a > jboss user. > > Installed the wrapper from Tanuki Software and followed the > instructions... > > http://wrapper.tanukisoftware.org/doc/english/integrate-simple-nix.html > > My wrapper.conf looks like this: > > wrapper.java.command=/usr/java/jdk/bin/java > wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp > wrapper.java.classpath.1=/usr/jboss-5.1.0.GA/lib/wrapper.jar > wrapper.java.classpath.2=/usr/jboss-5.1.0.GA/bin/run.jar > wrapper.java.classpath.3=/usr/java/jdk/lib/tools.jar > wrapper.java.library.path.1=/usr/jboss-5.1.0.GA/lib/ > wrapper.java.additional.auto_bits=TRUE > > # Java Additional Parameters > wrapper.java.additional.1=-Dprogram.name=run.sh > wrapper.java.additional.2=-Dorg.jboss.resolver.warning=true > wrapper.java.additional.3=-Dsun.rmi.dgc.client.gcInterval=3600000 > wrapper.java.additional.4=-Dsun.rmi.dgc.server.gcInterval=3600000 > wrapper.java.additional.5=-Djboss.bind.address=0.0.0.0 > wrapper.java.additional.6=-Xdebug-Xrunjdwp:transport=dt_socket > wrapper.java.additional.7=-Djava.net.preferIPv4Stack=true > > # Initial Java Heap Size (in MB ) > wrapper.java.initmemory=128 > #-Xms128m -Xmx512m -XX:MaxPermSize=256m > # Maximum Java Heap Size (in MB) > wrapper.java.maxmemory=256 > > # Application parameters. Add parameters as needed starting from 1 > wrapper.app.parameter.1=org.jboss.Main > > Now, when I go to $JBOSS_HOME/bin and type in jboss console > > It runs and I am able to launch a browser and see the JBoss Management > Console by doing this: > > http://serveripaddress:8080 > > But since I am logging into this server using SSH, whenever I close > the SSH terminal bash shell's window, > > It shutdowns and I am unable to view the jBoss Management Console: > > http://serveripaddress:8080 > > "Page cannot be displayed".... > > Is there a way to keep JBoss running by being able to close the remote > SSH session? > > Would appreciate if someone could help me with this or point me in the > right direction... > > -James |
|
From: James D. <jam...@gm...> - 2009-07-31 23:09:52
|
Hello there, I am having trouble running JBoss as a service on a remote Fedora 8 (32 bit) server through which I access by doing SSH... Have installed JBoss 5.1.0 GA under the root user and didn't create a jboss user. Installed the wrapper from Tanuki Software and followed the instructions... http://wrapper.tanukisoftware.org/doc/english/integrate-simple-nix.html My wrapper.conf looks like this: wrapper.java.command=/usr/java/jdk/bin/java wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp wrapper.java.classpath.1=/usr/jboss-5.1.0.GA/lib/wrapper.jar wrapper.java.classpath.2=/usr/jboss-5.1.0.GA/bin/run.jar wrapper.java.classpath.3=/usr/java/jdk/lib/tools.jar wrapper.java.library.path.1=/usr/jboss-5.1.0.GA/lib/ wrapper.java.additional.auto_bits=TRUE # Java Additional Parameters wrapper.java.additional.1=-Dprogram.name=run.sh wrapper.java.additional.2=-Dorg.jboss.resolver.warning=true wrapper.java.additional.3=-Dsun.rmi.dgc.client.gcInterval=3600000 wrapper.java.additional.4=-Dsun.rmi.dgc.server.gcInterval=3600000 wrapper.java.additional.5=-Djboss.bind.address=0.0.0.0 wrapper.java.additional.6=-Xdebug-Xrunjdwp:transport=dt_socket wrapper.java.additional.7=-Djava.net.preferIPv4Stack=true # Initial Java Heap Size (in MB ) wrapper.java.initmemory=128 #-Xms128m -Xmx512m -XX:MaxPermSize=256m # Maximum Java Heap Size (in MB) wrapper.java.maxmemory=256 # Application parameters. Add parameters as needed starting from 1 wrapper.app.parameter.1=org.jboss.Main Now, when I go to $JBOSS_HOME/bin and type in jboss console It runs and I am able to launch a browser and see the JBoss Management Console by doing this: http://serveripaddress:8080 But since I am logging into this server using SSH, whenever I close the SSH terminal bash shell's window, It shutdowns and I am unable to view the jBoss Management Console: http://serveripaddress:8080 "Page cannot be displayed".... Is there a way to keep JBoss running by being able to close the remote SSH session? Would appreciate if someone could help me with this or point me in the right direction... -James |
|
From: Lars S. <Lar...@if...> - 2009-07-28 21:43:56
|
Hi Leif The Java classes are encrypted and the custom class loader decrypts the class files. The custom class loader is part of the main jar file that contains the Java class that is started by the service. Originally I was using Method 1 to start the service class, but with the -Djava.system.class.loader= parameter that did not work. I then tried to start my service class directly by setting the wrapper.java.mainclass parameter equal to my service class, which I guess is Method 3. I can get my service started that way, but get some error messages from the service wrapper after a few seconds about some JVM not being initialized properly. I think my problem with getting it to work with Method 1 is that the -Djava.system.class.loader= is used for starting the org.tanukisoftware.wrapper.WrapperSimpleApp class but not by the org.tanukisoftware.wrapper.WrapperSimpleApp class to start my service class. I use the -Djava.system.class.loader= parameter to point out the class loader class, which is part of my main jar file. I am thinking that when Java starts and gets the -Djava.system.class.loader= parameter it does not know where to find the class since I am getting the ClassNotFoundException for the class loader class. I will try a different approach of wrapping the launch of the service in a wrapper class that takes care of loading the class loader. Lars Leif Mortenson wrote: > Lars, > When you run under the Wrapper, it changes the working directory of > the current process (itself) to the location of the Wrapper.exe. > Then when the Wrapper launches the JVM, its working directory will > also be the location of the wrapper.exe because the child process > inherits that from its parent. > > If you run without the wrapper using the the command line from the > log, the setting of the working directory will not take place. > > Please explain to me exactly what your class loader is doing, I might > have some ideas. If you want to explain it off list we can to that as > well. I just want to keep the final solution on list so it can be > searched later by others with similar problems. > > Cheers, > Leif > > On Tue, Jul 28, 2009 at 11:45 PM, Lars Schnoor<Lar...@if...> wrote: > >> Hi Leif >> >> I actually don't want to use a different working directory. My jar-file is >> in the same directory as the Wrapper.exe file and it all works fine except >> the -Djava.system.class.loader= parameter, which seems to ignore the working >> directory and just takes the current directory as working directory. >> I get the ClassNotFoundException for my class loader when I try to start the >> service from a location that is different from the location where the >> Wrapper.exe is located. >> So the question is how to the the classpath for the >> -Djava.system.class.loader= parameter? >> >> Lars >> >> Leif Mortenson wrote: >> >> Lars, >> To solve this problem exactly, the Wrapper is very strict about always >> settings its working directory to the location of the Wrapper binary. >> This is the case on all platforms. This is done precisely so that >> you can reliably use paths relative to the wrapper binary's location. >> If you need to use another location for your application, you can use >> the following property to do so. Be sure to read its documentation >> carefully first though. >> http://wrapper.tanukisoftware.org/doc/english/prop-working-dir.html >> >> Let me know if this helps. >> >> Cheers, >> Leif >> >> On Tue, Jul 28, 2009 at 11:11 PM, Lars Schnoor<Lar...@if...> wrote: >> >> >> Hi Leif >> >> I have come a bit closer to a solution. I can now start the service with the >> batch file. I can also start my application when I copy the command line >> into a command prompt window AND my command prompt window is in the >> directory where the service is located, if I try to execute the command line >> from a different location I get the ClassNotFoundException. >> Is there a way to ensure that the service is started from the location where >> the service is located? I mean the classes can only be found if they are >> present and the classpath is relative to the current location. >> >> Lars >> >> Leif Mortenson wrote: >> >> Lars, >> Please add the following property to your configuration. It will >> cause the full generated command line to be logged. >> wrapper.java.command.loglevel=INFO >> This will let you see exactly how the Wrapper is launching the JVM. >> >> If you wish, you can copy that command line into a batch script or sh >> file. Then, IMPORTANT, remove the wrapper.key property from the >> command line. This will let you run the JVM in a semi-standalone mode >> which should let you test the JVM without the Wrapper binary in the >> equation. The java side of the Wrapper will still be there. This >> mode is not usually all that useful, but it can be helpful in removing >> doubt about the Wrapper binary causing certain problems. >> >> I may be able to help more if you post the resulting command line >> along with your error. Where are the classes referenced by your >> custom class loader coming from? Are you getting a >> ClassNotFoundException on a Wrapper class, one of your application >> classes, or a system class? >> >> Cheers, >> Leif >> >> On Tue, Jul 28, 2009 at 9:52 PM, Lars Schnoor<Lar...@if...> wrote: >> >> >> Hi Leif >> >> I am trying to use a custom class loader which I am trying to point out with >> the -Djava.system.class.loader= parameter. >> I get an ClassNotFoundException when I try to start the service. When I put >> the -Djava.system.class.loader= directly after the java command in a command >> prompt windows it works. >> Where is the wrapper.java.additional.1= placed in the command line? >> >> Thanks >> >> Lars >> >> Leif Mortenson wrote: >> >> Lars, >> What is the error you are getting. It should work identically to a >> standalone Java application. The only difference is that you will >> also need to make sure that the Wrapper's class files are loaded. >> >> Please describe a little more what you are trying to do as well as >> what you are seeing. >> >> Cheers, >> Leif >> >> On Tue, Jul 28, 2009 at 9:29 PM, Lars Schnoor<Lar...@if...> wrote: >> >> >> Hi >> I am using the wrapper version 3.2.3 on Windows and I need to add a >> -Djava.system.class.loader=... parameter in order to start my service, >> how do I do that? >> I tried to add it as: >> wrapper.java.additional.1= -Djava.system.class.loader=.... >> But that does not work. >> Thanks >> >> Lars >> > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > Wrapper-user mailing list > Wra...@li... > https://lists.sourceforge.net/lists/listinfo/wrapper-user > |
|
From: Ryan F. <rf...@tr...> - 2009-07-28 18:26:31
|
Thanks, Leif. We will take this under advisement and update when possible. Keeping our libraries up-to-date is sometimes a challenge based upon our release schedule and risk acceptance. It's good to know that it has been fixed though! -----Original Message----- Message: 1 Date: Thu, 23 Jul 2009 01:53:00 +0900 From: Leif Mortenson <lei...@ta...> Subject: Re: [Wrapper-user] Windows 3.2.0 wrapper stops but jvm does not To: wra...@li... Message-ID: <c0a...@ma...> Content-Type: text/plain; charset=ISO-8859-1 Ryan, I believe this is a problem that was fixed in version 3.2.2: ... The problem did not exist prior to 3.2.0. Bug #1574537. |
|
From: Leif M. <lei...@ta...> - 2009-07-28 15:42:59
|
Lars, When you run under the Wrapper, it changes the working directory of the current process (itself) to the location of the Wrapper.exe. Then when the Wrapper launches the JVM, its working directory will also be the location of the wrapper.exe because the child process inherits that from its parent. If you run without the wrapper using the the command line from the log, the setting of the working directory will not take place. Please explain to me exactly what your class loader is doing, I might have some ideas. If you want to explain it off list we can to that as well. I just want to keep the final solution on list so it can be searched later by others with similar problems. Cheers, Leif On Tue, Jul 28, 2009 at 11:45 PM, Lars Schnoor<Lar...@if...> wrote: > Hi Leif > > I actually don't want to use a different working directory. My jar-file is > in the same directory as the Wrapper.exe file and it all works fine except > the -Djava.system.class.loader= parameter, which seems to ignore the working > directory and just takes the current directory as working directory. > I get the ClassNotFoundException for my class loader when I try to start the > service from a location that is different from the location where the > Wrapper.exe is located. > So the question is how to the the classpath for the > -Djava.system.class.loader= parameter? > > Lars > > Leif Mortenson wrote: > > Lars, > To solve this problem exactly, the Wrapper is very strict about always > settings its working directory to the location of the Wrapper binary. > This is the case on all platforms. This is done precisely so that > you can reliably use paths relative to the wrapper binary's location. > If you need to use another location for your application, you can use > the following property to do so. Be sure to read its documentation > carefully first though. > http://wrapper.tanukisoftware.org/doc/english/prop-working-dir.html > > Let me know if this helps. > > Cheers, > Leif > > On Tue, Jul 28, 2009 at 11:11 PM, Lars Schnoor<Lar...@if...> wrote: > > > Hi Leif > > I have come a bit closer to a solution. I can now start the service with the > batch file. I can also start my application when I copy the command line > into a command prompt window AND my command prompt window is in the > directory where the service is located, if I try to execute the command line > from a different location I get the ClassNotFoundException. > Is there a way to ensure that the service is started from the location where > the service is located? I mean the classes can only be found if they are > present and the classpath is relative to the current location. > > Lars > > Leif Mortenson wrote: > > Lars, > Please add the following property to your configuration. It will > cause the full generated command line to be logged. > wrapper.java.command.loglevel=INFO > This will let you see exactly how the Wrapper is launching the JVM. > > If you wish, you can copy that command line into a batch script or sh > file. Then, IMPORTANT, remove the wrapper.key property from the > command line. This will let you run the JVM in a semi-standalone mode > which should let you test the JVM without the Wrapper binary in the > equation. The java side of the Wrapper will still be there. This > mode is not usually all that useful, but it can be helpful in removing > doubt about the Wrapper binary causing certain problems. > > I may be able to help more if you post the resulting command line > along with your error. Where are the classes referenced by your > custom class loader coming from? Are you getting a > ClassNotFoundException on a Wrapper class, one of your application > classes, or a system class? > > Cheers, > Leif > > On Tue, Jul 28, 2009 at 9:52 PM, Lars Schnoor<Lar...@if...> wrote: > > > Hi Leif > > I am trying to use a custom class loader which I am trying to point out with > the -Djava.system.class.loader= parameter. > I get an ClassNotFoundException when I try to start the service. When I put > the -Djava.system.class.loader= directly after the java command in a command > prompt windows it works. > Where is the wrapper.java.additional.1= placed in the command line? > > Thanks > > Lars > > Leif Mortenson wrote: > > Lars, > What is the error you are getting. It should work identically to a > standalone Java application. The only difference is that you will > also need to make sure that the Wrapper's class files are loaded. > > Please describe a little more what you are trying to do as well as > what you are seeing. > > Cheers, > Leif > > On Tue, Jul 28, 2009 at 9:29 PM, Lars Schnoor<Lar...@if...> wrote: > > > Hi > I am using the wrapper version 3.2.3 on Windows and I need to add a > -Djava.system.class.loader=... parameter in order to start my service, > how do I do that? > I tried to add it as: > wrapper.java.additional.1= -Djava.system.class.loader=.... > But that does not work. > Thanks > > Lars |
|
From: Lars S. <Lar...@if...> - 2009-07-28 14:45:15
|
Hi Leif I actually don't want to use a different working directory. My jar-file is in the same directory as the Wrapper.exe file and it all works fine except the -Djava.system.class.loader= parameter, which seems to ignore the working directory and just takes the current directory as working directory. I get the ClassNotFoundException for my class loader when I try to start the service from a location that is different from the location where the Wrapper.exe is located. So the question is how to the the classpath for the -Djava.system.class.loader= parameter? Lars Leif Mortenson wrote: > Lars, > To solve this problem exactly, the Wrapper is very strict about always > settings its working directory to the location of the Wrapper binary. > This is the case on all platforms. This is done precisely so that > you can reliably use paths relative to the wrapper binary's location. > If you need to use another location for your application, you can use > the following property to do so. Be sure to read its documentation > carefully first though. > http://wrapper.tanukisoftware.org/doc/english/prop-working-dir.html > > Let me know if this helps. > > Cheers, > Leif > > On Tue, Jul 28, 2009 at 11:11 PM, Lars Schnoor<Lar...@if...> wrote: > >> Hi Leif >> >> I have come a bit closer to a solution. I can now start the service with the >> batch file. I can also start my application when I copy the command line >> into a command prompt window AND my command prompt window is in the >> directory where the service is located, if I try to execute the command line >> from a different location I get the ClassNotFoundException. >> Is there a way to ensure that the service is started from the location where >> the service is located? I mean the classes can only be found if they are >> present and the classpath is relative to the current location. >> >> Lars >> >> Leif Mortenson wrote: >> >> Lars, >> Please add the following property to your configuration. It will >> cause the full generated command line to be logged. >> wrapper.java.command.loglevel=INFO >> This will let you see exactly how the Wrapper is launching the JVM. >> >> If you wish, you can copy that command line into a batch script or sh >> file. Then, IMPORTANT, remove the wrapper.key property from the >> command line. This will let you run the JVM in a semi-standalone mode >> which should let you test the JVM without the Wrapper binary in the >> equation. The java side of the Wrapper will still be there. This >> mode is not usually all that useful, but it can be helpful in removing >> doubt about the Wrapper binary causing certain problems. >> >> I may be able to help more if you post the resulting command line >> along with your error. Where are the classes referenced by your >> custom class loader coming from? Are you getting a >> ClassNotFoundException on a Wrapper class, one of your application >> classes, or a system class? >> >> Cheers, >> Leif >> >> On Tue, Jul 28, 2009 at 9:52 PM, Lars Schnoor<Lar...@if...> wrote: >> >> >> Hi Leif >> >> I am trying to use a custom class loader which I am trying to point out with >> the -Djava.system.class.loader= parameter. >> I get an ClassNotFoundException when I try to start the service. When I put >> the -Djava.system.class.loader= directly after the java command in a command >> prompt windows it works. >> Where is the wrapper.java.additional.1= placed in the command line? >> >> Thanks >> >> Lars >> >> Leif Mortenson wrote: >> >> Lars, >> What is the error you are getting. It should work identically to a >> standalone Java application. The only difference is that you will >> also need to make sure that the Wrapper's class files are loaded. >> >> Please describe a little more what you are trying to do as well as >> what you are seeing. >> >> Cheers, >> Leif >> >> On Tue, Jul 28, 2009 at 9:29 PM, Lars Schnoor<Lar...@if...> wrote: >> >> >> Hi >> I am using the wrapper version 3.2.3 on Windows and I need to add a >> -Djava.system.class.loader=... parameter in order to start my service, >> how do I do that? >> I tried to add it as: >> wrapper.java.additional.1= -Djava.system.class.loader=.... >> But that does not work. >> Thanks >> >> Lars >> > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > Wrapper-user mailing list > Wra...@li... > https://lists.sourceforge.net/lists/listinfo/wrapper-user > |
|
From: Leif M. <le...@ta...> - 2009-07-28 14:31:20
|
Lars, To solve this problem exactly, the Wrapper is very strict about always settings its working directory to the location of the Wrapper binary. This is the case on all platforms. This is done precisely so that you can reliably use paths relative to the wrapper binary's location. If you need to use another location for your application, you can use the following property to do so. Be sure to read its documentation carefully first though. http://wrapper.tanukisoftware.org/doc/english/prop-working-dir.html Let me know if this helps. Cheers, Leif On Tue, Jul 28, 2009 at 11:11 PM, Lars Schnoor<Lar...@if...> wrote: > Hi Leif > > I have come a bit closer to a solution. I can now start the service with the > batch file. I can also start my application when I copy the command line > into a command prompt window AND my command prompt window is in the > directory where the service is located, if I try to execute the command line > from a different location I get the ClassNotFoundException. > Is there a way to ensure that the service is started from the location where > the service is located? I mean the classes can only be found if they are > present and the classpath is relative to the current location. > > Lars > > Leif Mortenson wrote: > > Lars, > Please add the following property to your configuration. It will > cause the full generated command line to be logged. > wrapper.java.command.loglevel=INFO > This will let you see exactly how the Wrapper is launching the JVM. > > If you wish, you can copy that command line into a batch script or sh > file. Then, IMPORTANT, remove the wrapper.key property from the > command line. This will let you run the JVM in a semi-standalone mode > which should let you test the JVM without the Wrapper binary in the > equation. The java side of the Wrapper will still be there. This > mode is not usually all that useful, but it can be helpful in removing > doubt about the Wrapper binary causing certain problems. > > I may be able to help more if you post the resulting command line > along with your error. Where are the classes referenced by your > custom class loader coming from? Are you getting a > ClassNotFoundException on a Wrapper class, one of your application > classes, or a system class? > > Cheers, > Leif > > On Tue, Jul 28, 2009 at 9:52 PM, Lars Schnoor<Lar...@if...> wrote: > > > Hi Leif > > I am trying to use a custom class loader which I am trying to point out with > the -Djava.system.class.loader= parameter. > I get an ClassNotFoundException when I try to start the service. When I put > the -Djava.system.class.loader= directly after the java command in a command > prompt windows it works. > Where is the wrapper.java.additional.1= placed in the command line? > > Thanks > > Lars > > Leif Mortenson wrote: > > Lars, > What is the error you are getting. It should work identically to a > standalone Java application. The only difference is that you will > also need to make sure that the Wrapper's class files are loaded. > > Please describe a little more what you are trying to do as well as > what you are seeing. > > Cheers, > Leif > > On Tue, Jul 28, 2009 at 9:29 PM, Lars Schnoor<Lar...@if...> wrote: > > > Hi > I am using the wrapper version 3.2.3 on Windows and I need to add a > -Djava.system.class.loader=... parameter in order to start my service, > how do I do that? > I tried to add it as: > wrapper.java.additional.1= -Djava.system.class.loader=.... > But that does not work. > Thanks > > Lars |
|
From: Lars S. <Lar...@if...> - 2009-07-28 14:11:26
|
Hi Leif I have come a bit closer to a solution. I can now start the service with the batch file. I can also start my application when I copy the command line into a command prompt window AND my command prompt window is in the directory where the service is located, if I try to execute the command line from a different location I get the ClassNotFoundException. Is there a way to ensure that the service is started from the location where the service is located? I mean the classes can only be found if they are present and the classpath is relative to the current location. Lars Leif Mortenson wrote: > Lars, > Please add the following property to your configuration. It will > cause the full generated command line to be logged. > wrapper.java.command.loglevel=INFO > This will let you see exactly how the Wrapper is launching the JVM. > > If you wish, you can copy that command line into a batch script or sh > file. Then, IMPORTANT, remove the wrapper.key property from the > command line. This will let you run the JVM in a semi-standalone mode > which should let you test the JVM without the Wrapper binary in the > equation. The java side of the Wrapper will still be there. This > mode is not usually all that useful, but it can be helpful in removing > doubt about the Wrapper binary causing certain problems. > > I may be able to help more if you post the resulting command line > along with your error. Where are the classes referenced by your > custom class loader coming from? Are you getting a > ClassNotFoundException on a Wrapper class, one of your application > classes, or a system class? > > Cheers, > Leif > > On Tue, Jul 28, 2009 at 9:52 PM, Lars Schnoor<Lar...@if...> wrote: > >> Hi Leif >> >> I am trying to use a custom class loader which I am trying to point out with >> the -Djava.system.class.loader= parameter. >> I get an ClassNotFoundException when I try to start the service. When I put >> the -Djava.system.class.loader= directly after the java command in a command >> prompt windows it works. >> Where is the wrapper.java.additional.1= placed in the command line? >> >> Thanks >> >> Lars >> >> Leif Mortenson wrote: >> >> Lars, >> What is the error you are getting. It should work identically to a >> standalone Java application. The only difference is that you will >> also need to make sure that the Wrapper's class files are loaded. >> >> Please describe a little more what you are trying to do as well as >> what you are seeing. >> >> Cheers, >> Leif >> >> On Tue, Jul 28, 2009 at 9:29 PM, Lars Schnoor<Lar...@if...> wrote: >> >> >> Hi >> I am using the wrapper version 3.2.3 on Windows and I need to add a >> -Djava.system.class.loader=... parameter in order to start my service, >> how do I do that? >> I tried to add it as: >> wrapper.java.additional.1= -Djava.system.class.loader=.... >> But that does not work. >> Thanks >> >> Lars >> > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > Wrapper-user mailing list > Wra...@li... > https://lists.sourceforge.net/lists/listinfo/wrapper-user > |
|
From: Leif M. <le...@ta...> - 2009-07-28 13:12:36
|
Lars, Please add the following property to your configuration. It will cause the full generated command line to be logged. wrapper.java.command.loglevel=INFO This will let you see exactly how the Wrapper is launching the JVM. If you wish, you can copy that command line into a batch script or sh file. Then, IMPORTANT, remove the wrapper.key property from the command line. This will let you run the JVM in a semi-standalone mode which should let you test the JVM without the Wrapper binary in the equation. The java side of the Wrapper will still be there. This mode is not usually all that useful, but it can be helpful in removing doubt about the Wrapper binary causing certain problems. I may be able to help more if you post the resulting command line along with your error. Where are the classes referenced by your custom class loader coming from? Are you getting a ClassNotFoundException on a Wrapper class, one of your application classes, or a system class? Cheers, Leif On Tue, Jul 28, 2009 at 9:52 PM, Lars Schnoor<Lar...@if...> wrote: > Hi Leif > > I am trying to use a custom class loader which I am trying to point out with > the -Djava.system.class.loader= parameter. > I get an ClassNotFoundException when I try to start the service. When I put > the -Djava.system.class.loader= directly after the java command in a command > prompt windows it works. > Where is the wrapper.java.additional.1= placed in the command line? > > Thanks > > Lars > > Leif Mortenson wrote: > > Lars, > What is the error you are getting. It should work identically to a > standalone Java application. The only difference is that you will > also need to make sure that the Wrapper's class files are loaded. > > Please describe a little more what you are trying to do as well as > what you are seeing. > > Cheers, > Leif > > On Tue, Jul 28, 2009 at 9:29 PM, Lars Schnoor<Lar...@if...> wrote: > > > Hi > I am using the wrapper version 3.2.3 on Windows and I need to add a > -Djava.system.class.loader=... parameter in order to start my service, > how do I do that? > I tried to add it as: > wrapper.java.additional.1= -Djava.system.class.loader=.... > But that does not work. > Thanks > > Lars |
|
From: Lars S. <Lar...@if...> - 2009-07-28 12:53:03
|
Hi Leif I am trying to use a custom class loader which I am trying to point out with the *-Djava.system.class.loader=* parameter. I get an ClassNotFoundException when I try to start the service. When I put the *-Djava.system.class.loader=* directly after the java command in a command prompt windows it works. Where is the *wrapper.java.additional.1=* placed in the command line? Thanks Lars Leif Mortenson wrote: > Lars, > What is the error you are getting. It should work identically to a > standalone Java application. The only difference is that you will > also need to make sure that the Wrapper's class files are loaded. > > Please describe a little more what you are trying to do as well as > what you are seeing. > > Cheers, > Leif > > On Tue, Jul 28, 2009 at 9:29 PM, Lars Schnoor<Lar...@if...> wrote: > >> Hi >> I am using the wrapper version 3.2.3 on Windows and I need to add a >> -Djava.system.class.loader=... parameter in order to start my service, >> how do I do that? >> I tried to add it as: >> wrapper.java.additional.1= -Djava.system.class.loader=.... >> But that does not work. >> Thanks >> >> Lars >> > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > Wrapper-user mailing list > Wra...@li... > https://lists.sourceforge.net/lists/listinfo/wrapper-user > |
|
From: Leif M. <le...@ta...> - 2009-07-28 12:44:08
|
Lars, What is the error you are getting. It should work identically to a standalone Java application. The only difference is that you will also need to make sure that the Wrapper's class files are loaded. Please describe a little more what you are trying to do as well as what you are seeing. Cheers, Leif On Tue, Jul 28, 2009 at 9:29 PM, Lars Schnoor<Lar...@if...> wrote: > Hi > I am using the wrapper version 3.2.3 on Windows and I need to add a > -Djava.system.class.loader=... parameter in order to start my service, > how do I do that? > I tried to add it as: > wrapper.java.additional.1= -Djava.system.class.loader=.... > But that does not work. > Thanks > > Lars |
|
From: Lars S. <Lar...@if...> - 2009-07-28 12:29:20
|
Hi I am using the wrapper version 3.2.3 on Windows and I need to add a -Djava.system.class.loader=... parameter in order to start my service, how do I do that? I tried to add it as: wrapper.java.additional.1= -Djava.system.class.loader=.... But that does not work. Thanks Lars |
|
From: Leif M. <lei...@ta...> - 2009-07-22 17:22:20
|
Ryan, I believe this is a problem that was fixed in version 3.2.2: --- Fix a CRITICAL bug in the 3.2.0 and 3.2.1 Windows versions of the Wrapper where the Wrapper would crash under rare circumstances when running as a service. If the service manager interrogated the service at the same instant as the wrapper was pinging the JVM, the wrapper was sometimes crashing due to a synchronization problem. The problem did not exist prior to 3.2.0. Bug #1574537. --- The problem may not have always resulted in a crash. See the release notes for ta complete list of changes: http://wrapper.tanukisoftware.org/doc/english/release-notes.html Is it possible for you to use a newer version of the Wrapper? The JVM side of the Wrapper has some code which will normally cause the JVM to shut itself down after 30 seconds should it ever lose contact with the Wrapper process. In your case, this is not happening because you have completely disabled the ping timeouts. I would suggest setting the wrapper.ping.timeout to a non-zero value. If you were having problems with timeouts, setting it to a long value like 5 minutes is still much more reliable than disabling the timeout all together. Let me know if I can help out further. Cheers, Leif On Wed, Jul 22, 2009 at 1:20 AM, Ryan Fong<rf...@tr...> wrote: > G'day, mates. I'm having an odd problem in one of three programs that > use the wrapper. I'd appreciate your advice & insight. > > We're using version 3.2.0 of the wrapper on Windows with the wrapper.dll > library. The wrapper is installed as a Windows service. During an > upgrade, our InstallAnywhere 2008 program calls its routine to stop this > service and sometimes the service only takes 1 sec to shutdown instead > of 6 sec. Using the wrapper debug log, I've determined that in this > condition the wrapperp sends "send a packet SERVICE_CONTROL_CODE : 1" > and then declares that "SmartPass stopped". Normally there's a long set > of other activity. In this condition, the wrapper process stops but the > child Java process does not. In fact, the Java process is totally > unaware of the stop request and continues running. This causes > installation problems. The service uptime required to see this ranges > from 2 hours to 24 hours, so it's quite sporadic. > > I suspect either one of the disabled timeout parameters below or some > wrapper bug is causing this problem. However, the same settings are in > all of our programs and only this one is exhibiting a problem. > > wrapper.ping.timeout=0 > wrapper.shutdown.timeout=0 > > I've also noted that this program is using the Java 1.6.0_02 client VM > instead of the server VM and that we have not specified > -Djava.awt.headless=true > > I reviewed the release notes for newer versions but didn't see any items > that matched my case. Any help would be appreciated. Thanks! > > > // failing, non-stopping case > DEBUG | wrapperp | 2009/07/21 08:55:52 | send a packet PING : ping > INFO | jvm 1 | 2009/07/21 08:55:52 | Received a packet PING : ping > INFO | jvm 1 | 2009/07/21 08:55:52 | Send a packet PING : ok > INFO | jvm 1 | 2009/07/21 08:55:52 | Non-daemon thread count = 18 - > 1(system) = 17 > DEBUG | wrapperp | 2009/07/21 08:55:52 | read a packet PING : ok > DEBUG | wrapper | 2009/07/21 08:55:52 | Got ping response from JVM > STATUS | wrapper | 2009/07/21 08:55:56 | Service is running. Stopping > it... > DEBUG | wrapperp | 2009/07/21 08:55:56 | send a packet > SERVICE_CONTROL_CODE : 1 > STATUS | wrapper | 2009/07/21 08:55:57 | SmartPass stopped. > STATUS | wrapper | 2009/07/21 08:55:57 | SmartPass removed. > > > // normal stop case > DEBUG | wrapperp | 2009/07/17 13:49:33 | send a packet PING : ping > INFO | jvm 1 | 2009/07/17 13:49:33 | Received a packet PING : ping > INFO | jvm 1 | 2009/07/17 13:49:33 | Send a packet PING : ok > INFO | jvm 1 | 2009/07/17 13:49:33 | Non-daemon thread count = 18 - > 1(system) = 17 > DEBUG | wrapperp | 2009/07/17 13:49:33 | read a packet PING : ok > DEBUG | wrapper | 2009/07/17 13:49:33 | Got ping response from JVM > DEBUG | wrapperp | 2009/07/17 13:49:35 | send a packet > SERVICE_CONTROL_CODE : 1 > DEBUG | wrapper | 2009/07/17 13:49:35 | ServiceControlHandler(1) > DEBUG | wrapper | 2009/07/17 13:49:35 | SERVICE_CONTROL_STOP > DEBUG | wrapper | 2009/07/17 13:49:35 | wrapperStopProcess(0) called. > STATUS | wrapper | 2009/07/17 13:49:35 | Service is running. Stopping > it... > DEBUG | wrapper | 2009/07/17 13:49:35 | Sending stop signal to JVM > DEBUG | wrapperp | 2009/07/17 13:49:35 | send a packet STOP : NULL > INFO | jvm 1 | 2009/07/17 13:49:35 | Received a packet > SERVICE_CONTROL_CODE : 1 > INFO | jvm 1 | 2009/07/17 13:49:35 | Wrapper Manager: > ServiceControlCode from Wrapper with code 1 > INFO | jvm 1 | 2009/07/17 13:49:35 | Non-daemon thread count = 18 - > 1(system) = 17 > INFO | jvm 1 | 2009/07/17 13:49:35 | Received a packet STOP : > INFO | jvm 1 | 2009/07/17 13:49:35 | Thread, Wrapper-Connection, > handling the shutdown process. > INFO | jvm 1 | 2009/07/17 13:49:35 | calling listener.stop() > INFO | jvm 1 | 2009/07/17 13:49:37 | returned from listener.stop() > INFO | jvm 1 | 2009/07/17 13:49:37 | Send a packet STOPPED : 0 > DEBUG | wrapperp | 2009/07/17 13:49:37 | read a packet STOPPED : 0 > DEBUG | wrapper | 2009/07/17 13:49:37 | JVM signalled that it was > stopped. > INFO | jvm 1 | 2009/07/17 13:49:37 | Closing socket. > DEBUG | wrapperp | 2009/07/17 13:49:37 | socket read no code (closed?). > DEBUG | wrapperp | 2009/07/17 13:49:38 | server listening on port > 32001. > INFO | jvm 1 | 2009/07/17 13:49:38 | calling System.exit(0) > DEBUG | wrapper | 2009/07/17 13:49:39 | JVM process exited with a code > of 0, leaving the wrapper exit code set to 0. > DEBUG | wrapper | 2009/07/17 13:49:39 | JVM exited normally. > STATUS | wrapper | 2009/07/17 13:49:39 | <-- Wrapper Stopped > INFO | wrapper | 2009/07/17 13:49:40 | Waiting to stop... > STATUS | wrapper | 2009/07/17 13:49:41 | SmartPass stopped. |
|
From: Darren <dar...@go...> - 2009-07-22 12:57:20
|
> Once the > JVM has been running for that amount of time, the restart count will > be reset. Aha, it even says that in the documentation, I should have read more carefully! For testing, the upgrade process is in a loop, so the application never runs for more than 60s without restart. As you say, this won't be a problem in production. Thanks, Darren |
|
From: Leif M. <le...@ta...> - 2009-07-22 12:02:50
|
Darren, She successful invocation time is the minimum amount of time that the JVM must be running before it will be considered to be a successful invocation. In your case it is 300 seconds (5 minutes). Once the JVM has been running for that amount of time, the restart count will be reset. The max failed invocations is the maximum number of times that the Wrapper will attempt to launch JVM invocations where each one is running less than the above successful invocation time. Assuming that your normal application is running for a long period of time, your double restart should not pose any problems even with the default settings. In your testing, it sounds like you were doing lots of rapid restarts. That is most likely a special case. If you set the successful invocation time to 1 second then you could continue to restart the JVM indefinitely as each would be running for more than a second. I hope this helps. Cheers, Leif On Wed, Jul 22, 2009 at 7:44 PM, Darren<dar...@go...> wrote: > I have a java application, running under the wrapper, which is able > to update itself and signal a restart to the wrapper using an exit > code. Each application upgrade requires the wrapper restarts the JVM > twice in quick succession. > > In testing I let the application upgrade itself repeatedly and it > fell over at 5 restarts. Looking through the docs I see the > following properties can be updated to change this. > > wrapper.max_failed_invocations=5 > wrapper.successful_invocation_time=300 > > My question is, does the failed invocation count ever get reset? > > If not, I'm going to need to increase wrapper.max_failed_invocations > based on twice the estimated number of upgrades before the physical > server is restarted. > > Alternatively I could delay the upgrades so > wrapper.successful_invocation_time passes before a restart is signalled. > > Either of these workarounds shouldn't be a problem, just wondering if > there is another solution? > > Thanks, > Darren |
|
From: Darren <dar...@go...> - 2009-07-22 10:44:55
|
I have a java application, running under the wrapper, which is able to update itself and signal a restart to the wrapper using an exit code. Each application upgrade requires the wrapper restarts the JVM twice in quick succession. In testing I let the application upgrade itself repeatedly and it fell over at 5 restarts. Looking through the docs I see the following properties can be updated to change this. wrapper.max_failed_invocations=5 wrapper.successful_invocation_time=300 My question is, does the failed invocation count ever get reset? If not, I'm going to need to increase wrapper.max_failed_invocations based on twice the estimated number of upgrades before the physical server is restarted. Alternatively I could delay the upgrades so wrapper.successful_invocation_time passes before a restart is signalled. Either of these workarounds shouldn't be a problem, just wondering if there is another solution? Thanks, Darren |
|
From: Ryan F. <rf...@tr...> - 2009-07-21 16:38:03
|
G'day, mates. I'm having an odd problem in one of three programs that use the wrapper. I'd appreciate your advice & insight. We're using version 3.2.0 of the wrapper on Windows with the wrapper.dll library. The wrapper is installed as a Windows service. During an upgrade, our InstallAnywhere 2008 program calls its routine to stop this service and sometimes the service only takes 1 sec to shutdown instead of 6 sec. Using the wrapper debug log, I've determined that in this condition the wrapperp sends "send a packet SERVICE_CONTROL_CODE : 1" and then declares that "SmartPass stopped". Normally there's a long set of other activity. In this condition, the wrapper process stops but the child Java process does not. In fact, the Java process is totally unaware of the stop request and continues running. This causes installation problems. The service uptime required to see this ranges from 2 hours to 24 hours, so it's quite sporadic. I suspect either one of the disabled timeout parameters below or some wrapper bug is causing this problem. However, the same settings are in all of our programs and only this one is exhibiting a problem. wrapper.ping.timeout=0 wrapper.shutdown.timeout=0 I've also noted that this program is using the Java 1.6.0_02 client VM instead of the server VM and that we have not specified -Djava.awt.headless=true I reviewed the release notes for newer versions but didn't see any items that matched my case. Any help would be appreciated. Thanks! // failing, non-stopping case DEBUG | wrapperp | 2009/07/21 08:55:52 | send a packet PING : ping INFO | jvm 1 | 2009/07/21 08:55:52 | Received a packet PING : ping INFO | jvm 1 | 2009/07/21 08:55:52 | Send a packet PING : ok INFO | jvm 1 | 2009/07/21 08:55:52 | Non-daemon thread count = 18 - 1(system) = 17 DEBUG | wrapperp | 2009/07/21 08:55:52 | read a packet PING : ok DEBUG | wrapper | 2009/07/21 08:55:52 | Got ping response from JVM STATUS | wrapper | 2009/07/21 08:55:56 | Service is running. Stopping it... DEBUG | wrapperp | 2009/07/21 08:55:56 | send a packet SERVICE_CONTROL_CODE : 1 STATUS | wrapper | 2009/07/21 08:55:57 | SmartPass stopped. STATUS | wrapper | 2009/07/21 08:55:57 | SmartPass removed. // normal stop case DEBUG | wrapperp | 2009/07/17 13:49:33 | send a packet PING : ping INFO | jvm 1 | 2009/07/17 13:49:33 | Received a packet PING : ping INFO | jvm 1 | 2009/07/17 13:49:33 | Send a packet PING : ok INFO | jvm 1 | 2009/07/17 13:49:33 | Non-daemon thread count = 18 - 1(system) = 17 DEBUG | wrapperp | 2009/07/17 13:49:33 | read a packet PING : ok DEBUG | wrapper | 2009/07/17 13:49:33 | Got ping response from JVM DEBUG | wrapperp | 2009/07/17 13:49:35 | send a packet SERVICE_CONTROL_CODE : 1 DEBUG | wrapper | 2009/07/17 13:49:35 | ServiceControlHandler(1) DEBUG | wrapper | 2009/07/17 13:49:35 | SERVICE_CONTROL_STOP DEBUG | wrapper | 2009/07/17 13:49:35 | wrapperStopProcess(0) called. STATUS | wrapper | 2009/07/17 13:49:35 | Service is running. Stopping it... DEBUG | wrapper | 2009/07/17 13:49:35 | Sending stop signal to JVM DEBUG | wrapperp | 2009/07/17 13:49:35 | send a packet STOP : NULL INFO | jvm 1 | 2009/07/17 13:49:35 | Received a packet SERVICE_CONTROL_CODE : 1 INFO | jvm 1 | 2009/07/17 13:49:35 | Wrapper Manager: ServiceControlCode from Wrapper with code 1 INFO | jvm 1 | 2009/07/17 13:49:35 | Non-daemon thread count = 18 - 1(system) = 17 INFO | jvm 1 | 2009/07/17 13:49:35 | Received a packet STOP : INFO | jvm 1 | 2009/07/17 13:49:35 | Thread, Wrapper-Connection, handling the shutdown process. INFO | jvm 1 | 2009/07/17 13:49:35 | calling listener.stop() INFO | jvm 1 | 2009/07/17 13:49:37 | returned from listener.stop() INFO | jvm 1 | 2009/07/17 13:49:37 | Send a packet STOPPED : 0 DEBUG | wrapperp | 2009/07/17 13:49:37 | read a packet STOPPED : 0 DEBUG | wrapper | 2009/07/17 13:49:37 | JVM signalled that it was stopped. INFO | jvm 1 | 2009/07/17 13:49:37 | Closing socket. DEBUG | wrapperp | 2009/07/17 13:49:37 | socket read no code (closed?). DEBUG | wrapperp | 2009/07/17 13:49:38 | server listening on port 32001. INFO | jvm 1 | 2009/07/17 13:49:38 | calling System.exit(0) DEBUG | wrapper | 2009/07/17 13:49:39 | JVM process exited with a code of 0, leaving the wrapper exit code set to 0. DEBUG | wrapper | 2009/07/17 13:49:39 | JVM exited normally. STATUS | wrapper | 2009/07/17 13:49:39 | <-- Wrapper Stopped INFO | wrapper | 2009/07/17 13:49:40 | Waiting to stop... STATUS | wrapper | 2009/07/17 13:49:41 | SmartPass stopped. |