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: Leif M. <lei...@ta...> - 2010-09-23 17:10:44
|
Mark, 1) The application is exiting right away when run from the command line because its main method simply returns. Java will shut itself down when there are no non-daemon threads running. 2) The install as a service looks fine. 3) The attempt to start the service is saying that the Service Manager is trying to start the Wrapper, but it does not respond that it has started up. Could you please send me your wrapper.conf, as well as the wrapper.log file when wrapper.debug=true is set? This should tell me what exactly is happening when you try to start the service. In most cases, you do not need to implement your own WrapperListener implementation. Most applications will work fine if launched using our WrapperSimpleApp helper class. Its use is described as Integration Method #1. This will let you get up and running without any Java code. Cheers, Leif On Thu, Sep 23, 2010 at 9:15 PM, GLOVER, MARK CSC <MAR...@ut...> wrote: > Hi, > > Using wrapper-windows-x86-32-3.5.4 on XP Professional. > > An application ‘Main’ executes, then exits when run from the command line. > > The application will successfully install and uninstall as a service. > > The application will fail to run as a service with error expression ‘The > service is not responding to the control function’. > > Any Suggestions? > > > > Command Line > > > > > > C:\wrapper-windows\MainApp\bin>wrapper.exe -c ..\conf\wrapper.conf > > wrapper | --> Wrapper Started as Console > > wrapper | Java Service Wrapper Community Edition 32-bit 3.5.4 > > wrapper | Copyright (C) 1999-2010 Tanuki Software, Ltd. All Rights > Reserved. > > wrapper | http://wrapper.tanukisoftware.com > > wrapper | > > wrapper | Launching a JVM... > > jvm 1 | WrapperManager: Initializing... > > jvm 1 | [MyApp Constructor] We're here! We're Here! WE'RE HERE! > > jvm 1 | [MyApp Stop] We're here! We're Here! WE'RE HERE! > > wrapper | <-- Wrapper Stopped > > > > Installing as Service > > C:\wrapper-windows\MainApp\bin>InstallMainApp-NT.bat > > wrapper | MarkTestWrapperApp service installed. > > > > > > ---------------------------------------------- > > Running as Service – FAILURE > > > > C:\wrapper-windows\MainApp\bin>net start MarkTestWrapperApp > > The service is not responding to the control function. > > > > More help is available by typing NET HELPMSG 2186. > > > > > > Source Code for MAIN application > > > > import org.tanukisoftware.wrapper.WrapperManager; > > import org.tanukisoftware.wrapper.WrapperListener; > > > > public class Main > > implements WrapperListener > > { > > private MyApp m_app; > > > > > > private Main() > > { } > > > > /*--------------------------------------------------------------- > > * WrapperListener Methods > > *-------------------------------------------------------------*/ > > public Integer start( String[] args ) > > { > > m_app = new MyApp( args ); > > WrapperManager.signalStarting( 6543 ); > > > > return null; > > } > > > > public int stop( int exitCode ) > > { > > m_app.stop(); > > > > return exitCode; > > } > > > > public void controlEvent( int event ) > > { > > if ( ( event == WrapperManager.WRAPPER_CTRL_LOGOFF_EVENT ) > > && ( WrapperManager.isLaunchedAsService() || > WrapperManager.isIgnoreUserLogoffs() ) ) > > { > > // Ignore > > } > > else > > { > > WrapperManager.stop( 0 ); > > // Will not get here. > > } > > } > > > > /*--------------------------------------------------------------- > > * Main Method > > *-------------------------------------------------------------*/ > > public static void main( String[] args ) > > { > > WrapperManager.start( new Main(), args ); > > } > > } > > > > > > MyApp Source code; > > > > public class MyApp { > > > > public MyApp(String [] args){ > > System.out.println("[MyApp Constructor] We're here! We're Here! > WE'RE HERE!"); > > } > > > > public static void main(String [] args){ > > System.out.println("[MyApp main] We're here! We're Here! WE'RE > HERE!"); > > } > > > > public Integer start(){ > > System.out.println("[MyApp Start]We're here! We're Here! WE'RE > HERE!"); > > return null; > > } > > > > public int stop(){ > > System.out.println("[MyApp Stop] We're here! We're Here! WE'RE > HERE!"); > > return 0; > > } > > > > } |
|
From: Leif M. <lei...@ta...> - 2010-09-23 16:52:41
|
Dave, Ok. That should work. The JVM itself will get restarted immediately, but you can control when your application is actually started. Let me know if we can help further. Cheers, Leif On Wed, Sep 22, 2010 at 7:20 AM, Dave Muirhead <mui...@ya...> wrote: > Hi Leif- > > Thanks for the info. Actually, I wasn't so much interested in the Wrapper > itself being an mbean or using the JMX facilities within Java Service > Wrapper. Rather, I was trying to figure out if there is some way to > configure JSW (or my "wrapper.java.mainclass") so that some custom Java code > (that I supply) can decide when/whether to actually continue with the > re/start up process - as opposed to "wrapper.restart.delay" being the > deciding factor as to when/how soon a failed JVM is restarted. > > After some experimentation, I think the answer is the WrapperListener > integration style. I wanted to defer re-start of a failed JVM until the > value of an mbean (available from a remote mbean server in the environment) > took on a particular value. I wrote a WrapperListener implementation whose > start method does the following in a loop (until the mbean attribute takes > on the required value): check the mbean attribute, call > WrapperManager.signalStarting, call Thread.sleep. That seems to work fine > and meets the need. > > Thanks for responding to my question. > > Best regards, > > Dave > > Message: 5 > Date: Wed, 22 Sep 2010 02:02:35 +0900 > From: Leif Mortenson <lei...@ta...> > Subject: Re: [Wrapper-user] Alternative to time as restart delay > criteria? > To: wra...@li... > Message-ID: > <AAN...@ma...> > Content-Type: text/plain; charset=ISO-8859-1 > > Dave, > Currently, the Wrapper itself does not publish itself as a JMX bean. > You are talking about delaying the launch of a JVM so any JMX access > there would not be available as the JVM would be down. > > In addition to the fixed delay, we added a new "Paused" state to the > JVM starting in version 3.5.0. You will need to first enable pausing: > http://wrapper.tanukisoftware.com/doc/english/prop-pausable.html > > You can use the Wrapper's command file to send PAUSE or RESUME > commands to the Wrapper as it is running: > http://wrapper.tanukisoftware.com/doc/english/prop-commandfile.html > > You can use the on exit properties to tell the Wrapper to pause when a JVM > exits > http://wrapper.tanukisoftware.com/doc/english/prop-on-exit-n.html > > There is not currently a way to tell the Wrapper to start paused. > > Please let me know how this works for you. > > Cheers, > Leif > > > > On Tue, Sep 21, 2010 at 1:43 AM, Dave Muirhead <mui...@ya...> wrote: >> The wrapper.restart.delay?"...controls the number of seconds to pause >> between a JVM exiting for any reason, and a new JVM being launched." >> But I wonder, is there any way to use criteria other than time to decide >> when to relaunch? For example, is there a way to?configure JSW to?monitor >> the value of a JMX MBean attribute and wait to restart the JVM until that >> MBean attribute takes on a specific value? >> >> Thanks, >> >> Dave |
|
From: GLOVER, M. C. <MAR...@UT...> - 2010-09-23 12:43:34
|
Hi, Using wrapper-windows-x86-32-3.5.4 on XP Professional. An application 'Main' executes, then exits when run from the command line. The application will successfully install and uninstall as a service. The application will fail to run as a service with error expression 'The service is not responding to the control function'. Any Suggestions? Command Line C:\wrapper-windows\MainApp\bin>wrapper.exe -c ..\conf\wrapper.conf wrapper | --> Wrapper Started as Console wrapper | Java Service Wrapper Community Edition 32-bit 3.5.4 wrapper | Copyright (C) 1999-2010 Tanuki Software, Ltd. All Rights Reserved. wrapper | http://wrapper.tanukisoftware.com wrapper | wrapper | Launching a JVM... jvm 1 | WrapperManager: Initializing... jvm 1 | [MyApp Constructor] We're here! We're Here! WE'RE HERE! jvm 1 | [MyApp Stop] We're here! We're Here! WE'RE HERE! wrapper | <-- Wrapper Stopped Installing as Service C:\wrapper-windows\MainApp\bin>InstallMainApp-NT.bat wrapper | MarkTestWrapperApp service installed. ---------------------------------------------- Running as Service - FAILURE C:\wrapper-windows\MainApp\bin>net start MarkTestWrapperApp The service is not responding to the control function. More help is available by typing NET HELPMSG 2186. Source Code for MAIN application import org.tanukisoftware.wrapper.WrapperManager; import org.tanukisoftware.wrapper.WrapperListener; public class Main implements WrapperListener { private MyApp m_app; private Main() { } /*--------------------------------------------------------------- * WrapperListener Methods *-------------------------------------------------------------*/ public Integer start( String[] args ) { m_app = new MyApp( args ); WrapperManager.signalStarting( 6543 ); return null; } public int stop( int exitCode ) { m_app.stop(); return exitCode; } public void controlEvent( int event ) { if ( ( event == WrapperManager.WRAPPER_CTRL_LOGOFF_EVENT ) && ( WrapperManager.isLaunchedAsService() || WrapperManager.isIgnoreUserLogoffs() ) ) { // Ignore } else { WrapperManager.stop( 0 ); // Will not get here. } } /*--------------------------------------------------------------- * Main Method *-------------------------------------------------------------*/ public static void main( String[] args ) { WrapperManager.start( new Main(), args ); } } MyApp Source code; public class MyApp { public MyApp(String [] args){ System.out.println("[MyApp Constructor] We're here! We're Here! WE'RE HERE!"); } public static void main(String [] args){ System.out.println("[MyApp main] We're here! We're Here! WE'RE HERE!"); } public Integer start(){ System.out.println("[MyApp Start]We're here! We're Here! WE'RE HERE!"); return null; } public int stop(){ System.out.println("[MyApp Stop] We're here! We're Here! WE'RE HERE!"); return 0; } } Mark Glover UTC Power 195 Governors Highway South Windsor CT 06074 860 727 2253 |
|
From: Christian <chr...@ta...> - 2010-09-22 00:18:22
|
Dave, you can do this with the org.tanukisoftware.wrapper.WrapperManager.getJVMId() method. http://wrapper.tanukisoftware.com/jdoc/org/tanukisoftware/wrapper/WrapperManager.html#getJVMId%28%29 public static int getJVMId() Returns the Id of the current JVM. JVM Ids increment from 1 each time the wrapper restarts a new one. Any value larger than 1 indicates, that the app was restarted. Hope this helps you out. Cheers, Christian -----Original Message----- From: Dave Muirhead <mui...@ya...> Reply-to: wra...@li... To: wra...@li... Subject: [Wrapper-user] Distinguish Between Start and Restart Date: Tue, 21 Sep 2010 15:24:28 -0700 (PDT) Is there a way, from within a WrapperListener, to distinguish a start from a re-start? Stated another way, how can I know if the WrapperListener's start method is being invoked due to a re-start in the aftermath of a JVM failure? Thanks, Dave ------------------------------------------------------------------------------ Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev _______________________________________________ Wrapper-user mailing list Wra...@li... https://lists.sourceforge.net/lists/listinfo/wrapper-user |
|
From: Dave M. <mui...@ya...> - 2010-09-21 22:24:34
|
Is there a way, from within a WrapperListener, to distinguish a start from a
re-start?
Stated another way, how can I know if the WrapperListener's start method is
being invoked due to a re-start in the aftermath of a JVM failure?
Thanks,
Dave
|
|
From: Dave M. <mui...@ya...> - 2010-09-21 22:20:35
|
Hi Leif-
Thanks for the info. Actually, I wasn't so much interested in the Wrapper itself
being an mbean or using the JMX facilities within Java Service Wrapper. Rather,
I was trying to figure out if there is some way to configure JSW (or my
"wrapper.java.mainclass") so that some custom Java code (that I supply) can
decide when/whether to actually continue with the re/start up process - as
opposed to "wrapper.restart.delay" being the deciding factor as to when/how soon
a failed JVM is restarted.
After some experimentation, I think the answer is the WrapperListener
integration style. I wanted to defer re-start of a failed JVM until the value of
an mbean (available from a remote mbean server in the environment) took on a
particular value. I wrote a WrapperListener implementation whose start method
does the following in a loop (until the mbean attribute takes on the required
value): check the mbean attribute, call WrapperManager.signalStarting, call
Thread.sleep. That seems to work fine and meets the need.
Thanks for responding to my question.
Best regards,
Dave
Message: 5
Date: Wed, 22 Sep 2010 02:02:35 +0900
From: Leif Mortenson <lei...@ta...>
Subject: Re: [Wrapper-user] Alternative to time as restart delay
criteria?
To: wra...@li...
Message-ID:
<AAN...@ma...>
Content-Type: text/plain; charset=ISO-8859-1
Dave,
Currently, the Wrapper itself does not publish itself as a JMX bean.
You are talking about delaying the launch of a JVM so any JMX access
there would not be available as the JVM would be down.
In addition to the fixed delay, we added a new "Paused" state to the
JVM starting in version 3.5.0. You will need to first enable pausing:
http://wrapper.tanukisoftware.com/doc/english/prop-pausable.html
You can use the Wrapper's command file to send PAUSE or RESUME
commands to the Wrapper as it is running:
http://wrapper.tanukisoftware.com/doc/english/prop-commandfile.html
You can use the on exit properties to tell the Wrapper to pause when a JVM exits
http://wrapper.tanukisoftware.com/doc/english/prop-on-exit-n.html
There is not currently a way to tell the Wrapper to start paused.
Please let me know how this works for you.
Cheers,
Leif
On Tue, Sep 21, 2010 at 1:43 AM, Dave Muirhead <mui...@ya...> wrote:
> The wrapper.restart.delay?"...controls the number of seconds to pause
> between a JVM exiting for any reason, and a new JVM being launched."
> But I wonder, is there any way to use criteria other than time to decide
> when to relaunch? For example, is there a way to?configure JSW to?monitor
> the value of a JMX MBean attribute and wait to restart the JVM until that
> MBean attribute takes on a specific value?
>
> Thanks,
>
> Dave
|
|
From: Vishal K <vis...@gm...> - 2010-09-21 19:13:14
|
Good to know. That will be very useful. Thanks. On Tue, Sep 21, 2010 at 11:32 AM, Leif Mortenson < lei...@ta...> wrote: > Vishal, > We have also been working on getting this added into the Standard and > Professional Editions for the next release. It will all be > configurable as part of the regular wrapper.conf file. > > Cheers, > Leif > > On Fri, Sep 17, 2010 at 11:09 AM, Vishal K <vis...@gm...> wrote: > > Hi Leif, > > > > I realized that we can set the recovery options that you metioned using > the > > 'sc failure' command. So we can first install our service and then use > this > > command to set the recovery options. This will work for us fine. It isn't > as > > bad as I thought it would be. Thanks for your help. > > > > Regards, > > -Vishal > > > > On Thu, Sep 16, 2010 at 10:50 AM, Vishal K <vis...@gm...> wrote: > >> > >> Hi Leif, > >> > >> Thanks for the info. This method does not work for us since it requires > >> manual setup. I think this is a serious limitation of the wrapper. > >> Unfortunately, without this fix we may not be able to use Tanuki. Do you > >> have an estimate of when a fix for this would be released? Can we do the > >> recovery settings that you mentioned by running an external command (and > >> need not be part of wrapper.exe)? If yes, that would work as an > temporary > >> solution until a real fix is available, because we can script it. > >> > >> Your help will be greatly appreciated. > >> > >> Regards, > >> -Vishal > >> > >> Date: Thu, 16 Sep 2010 19:42:57 +0900 > >>> > >>> From: Leif Mortenson <lei...@ta...> > >>> Subject: Re: [Wrapper-user] What happens if wrapper.exe dies? > >>> To: wra...@li... > >>> Message-ID: > >>> <AAN...@ma...<AANLkTikHFr3ht%2Bg...@ma...> > > > >>> Content-Type: text/plain; charset=ISO-8859-1 > >>> > >>> Vishal, > >>> After you have installed the Wrapper as a service, go into the Windows > >>> Service Manager and view the Properties for the Wrapper service. You > >>> can set this up using the "Recovery" tab. > >>> > >>> > http://mdenomy.files.wordpress.com/2008/02/configuring-recovery-2.jpg?w=500 > >>> > >>> If you kill the Wrapper process, then the JVM will keep running for up > >>> to 3 times the value of the wrapper.ping.timeout property. It will > >>> then shut itself down. If you use the Recovery feature, I recommend > >>> setting the delay before restart to at least this long. If you start > >>> a second JVM before the first has shut itself down then you would > >>> encounter port conflicts when the second JVM tries to start. You > >>> could handle such errors with the normal JVM restart features in the > >>> second Wrapper instance however. > >>> > >>> We are looking into what would be involved to support this directly > >>> from the Wrapper configuration file. That would be in a future > >>> release however. > >>> > >>> Please let me know how this works for you. > >>> > >>> Cheers, > >>> Leif > >>> > >>> On Thu, Sep 16, 2010 at 8:35 AM, Vishal K <vis...@gm...> > wrote: > >>> > Hi All, > >>> > > >>> > I am using java service wrapper on Windows. While experimenting with > >>> > the > >>> > wrapper I noticed that if I kill wrapper.exe my also application > dies. > >>> > After > >>> > wards, neither the wrapper.exe nor my application gets restarted. > Looks > >>> > like > >>> > we need to run wrapper.exe as a windows service as well. > >>> > > >>> > Any advise on how I can programatically get around this problem? > >>> > > >>> > Thanks. > >>> > -Vishal > > > ------------------------------------------------------------------------------ > Start uncovering the many advantages of virtual appliances > and start using them to simplify application deployment and > accelerate your shift to cloud computing. > http://p.sf.net/sfu/novell-sfdev2dev > _______________________________________________ > Wrapper-user mailing list > Wra...@li... > https://lists.sourceforge.net/lists/listinfo/wrapper-user > |
|
From: Leif M. <lei...@ta...> - 2010-09-21 17:02:42
|
Dave, Currently, the Wrapper itself does not publish itself as a JMX bean. You are talking about delaying the launch of a JVM so any JMX access there would not be available as the JVM would be down. In addition to the fixed delay, we added a new "Paused" state to the JVM starting in version 3.5.0. You will need to first enable pausing: http://wrapper.tanukisoftware.com/doc/english/prop-pausable.html You can use the Wrapper's command file to send PAUSE or RESUME commands to the Wrapper as it is running: http://wrapper.tanukisoftware.com/doc/english/prop-commandfile.html You can use the on exit properties to tell the Wrapper to pause when a JVM exits http://wrapper.tanukisoftware.com/doc/english/prop-on-exit-n.html There is not currently a way to tell the Wrapper to start paused. Please let me know how this works for you. Cheers, Leif On Tue, Sep 21, 2010 at 1:43 AM, Dave Muirhead <mui...@ya...> wrote: > The wrapper.restart.delay "...controls the number of seconds to pause > between a JVM exiting for any reason, and a new JVM being launched." > But I wonder, is there any way to use criteria other than time to decide > when to relaunch? For example, is there a way to configure JSW to monitor > the value of a JMX MBean attribute and wait to restart the JVM until that > MBean attribute takes on a specific value? > > Thanks, > > Dave |
|
From: Leif M. <lei...@ta...> - 2010-09-21 16:12:02
|
Christopher,
The Professional Edition contains a set of WrapperManager.exec methods
which are a much improved version of the Runtime.exec methods. They
allow the following on top of what the Java implementation does.
1) Low memory forks. This is a big problem on Solaris systems when
the JVM is large.
2) Managed child processes. The Wrapper will make sure that any
children launched by the JVM using the WrapperManager.exec method will
be cleaned up after the JVM exits for whatever reason. This is very
important when the JVM exits or crashes unexpectedly. It is possible
to tell the Wrapper not to monitor a particular child process if you
want it to stay running.
3) We do a bit more graceful shutdowns of child processes. We first
try to shut them down nicely with a CTRL-C or TERM signal. Then after
a timeout the child is forcibly killed. Runtime.exec simply kills it
immediately. Currently the timeout is 5 seconds, but the next release
already has the ability to configure this timeout.
This lets you do some very powerful multi process configurations. It
does have the drawback that the children will always be reset if the
parent JVM is restarted. If each Wrapper is a full installed service
then they are each a bit more independent. Both designs have their
benefits.
Cheers,
Leif
On Wed, Sep 22, 2010 at 12:35 AM, Christopher Taylor <ct...@co...> wrote:
> Leif,
>
> Thanks for the response. Let me clarify the scenario we're facing:
>
> We have a single, wrapper-managed service which should be in control of a bunch of other processes (each wrapped by wrapper, running in their own JVMs). There should only be a single service installed in the OS, the number of subprocesses may vary between deployments.
>
> Currently, we're thinking about simply launching the sub-wrapper instances using i.e. Runtime.exec("wrapper-subcomponent.bat") and making sure to terminate them when the master service is terminated.
>
> Are there any interactions between the multiple wrapper instances we need to be aware of when a wrapper service launches other wrapper instances? Another challenge we are facing with our approach is how to signal the service wrapper managed sub processes that they should be gracefully terminated, IOW how they would still get some seconds to clean up.
> Process.destroy will most likely immediately kill the wrapper sub process, won't it? Do you have any API that is better suited launching/controlling multiple service wrapper managed subprocesses than java.lang.Runtime?
>
> We are using the licensed community version of ServiceWrapper.
>
> Regards,
> --Christopher
>
>> -----Original Message-----
>> From: Leif Mortenson [mailto:lei...@ta...]
>> Sent: Tuesday, September 21, 2010 1:46 AM
>> To: wra...@li...
>> Subject: Re: [Wrapper-user] configuring, installing and launching services from within a wrapper
>> service
>>
>> Christopher,
>> The Wrapper does not directly provide a way to install new services,
>> but you can start, stop, pause, resume, etc. Services which are
>> already installed. This is done using the
>> WrapperManger.sendServiceControlCode method. See the Javadocs:
>> http://wrapper.tanukisoftware.com/doc/english/javadocs.html
>>
>> Before you can make use of these service methods however, you will
>> need to install a Security Manager in the JVM:
>> http://wrapper.tanukisoftware.com/doc/english/security-model.html
>>
>> Please let me know what you find missing here, as well as how you
>> would ideally like to see it work.
>>
>> Cheers,
>> Leif
>>
>> On Tue, Sep 21, 2010 at 3:57 AM, Christopher Taylor <ct...@co...> wrote:
>> > Hi List,
>> >
>> >
>> >
>> > Sorry if this has been asked before, the list search on sf didn't work for
>> > me.
>> >
>> >
>> >
>> > Is there an API in wrapper that allows me to configure, install and run/stop
>> > services in separate JVM instances from within my program? I could generate
>> > and exec wrapper scripts, but I'd like to know whether there is an API for
>> > this.
>> >
>> >
>> >
>> > I'd appreciate any pointers.
>> >
>> >
>> >
>> > Regards,
>> >
>> > --Christopher
|
|
From: Leif M. <lei...@ta...> - 2010-09-21 15:59:16
|
Vishal, We have also been working on getting this added into the Standard and Professional Editions for the next release. It will all be configurable as part of the regular wrapper.conf file. Cheers, Leif On Fri, Sep 17, 2010 at 11:09 AM, Vishal K <vis...@gm...> wrote: > Hi Leif, > > I realized that we can set the recovery options that you metioned using the > 'sc failure' command. So we can first install our service and then use this > command to set the recovery options. This will work for us fine. It isn't as > bad as I thought it would be. Thanks for your help. > > Regards, > -Vishal > > On Thu, Sep 16, 2010 at 10:50 AM, Vishal K <vis...@gm...> wrote: >> >> Hi Leif, >> >> Thanks for the info. This method does not work for us since it requires >> manual setup. I think this is a serious limitation of the wrapper. >> Unfortunately, without this fix we may not be able to use Tanuki. Do you >> have an estimate of when a fix for this would be released? Can we do the >> recovery settings that you mentioned by running an external command (and >> need not be part of wrapper.exe)? If yes, that would work as an temporary >> solution until a real fix is available, because we can script it. >> >> Your help will be greatly appreciated. >> >> Regards, >> -Vishal >> >> Date: Thu, 16 Sep 2010 19:42:57 +0900 >>> >>> From: Leif Mortenson <lei...@ta...> >>> Subject: Re: [Wrapper-user] What happens if wrapper.exe dies? >>> To: wra...@li... >>> Message-ID: >>> <AAN...@ma...> >>> Content-Type: text/plain; charset=ISO-8859-1 >>> >>> Vishal, >>> After you have installed the Wrapper as a service, go into the Windows >>> Service Manager and view the Properties for the Wrapper service. You >>> can set this up using the "Recovery" tab. >>> >>> http://mdenomy.files.wordpress.com/2008/02/configuring-recovery-2.jpg?w=500 >>> >>> If you kill the Wrapper process, then the JVM will keep running for up >>> to 3 times the value of the wrapper.ping.timeout property. It will >>> then shut itself down. If you use the Recovery feature, I recommend >>> setting the delay before restart to at least this long. If you start >>> a second JVM before the first has shut itself down then you would >>> encounter port conflicts when the second JVM tries to start. You >>> could handle such errors with the normal JVM restart features in the >>> second Wrapper instance however. >>> >>> We are looking into what would be involved to support this directly >>> from the Wrapper configuration file. That would be in a future >>> release however. >>> >>> Please let me know how this works for you. >>> >>> Cheers, >>> Leif >>> >>> On Thu, Sep 16, 2010 at 8:35 AM, Vishal K <vis...@gm...> wrote: >>> > Hi All, >>> > >>> > I am using java service wrapper on Windows. While experimenting with >>> > the >>> > wrapper I noticed that if I kill wrapper.exe my also application dies. >>> > After >>> > wards, neither the wrapper.exe nor my application gets restarted. Looks >>> > like >>> > we need to run wrapper.exe as a windows service as well. >>> > >>> > Any advise on how I can programatically get around this problem? >>> > >>> > Thanks. >>> > -Vishal |
|
From: Christopher T. <ct...@co...> - 2010-09-21 15:35:18
|
Leif,
Thanks for the response. Let me clarify the scenario we're facing:
We have a single, wrapper-managed service which should be in control of a bunch of other processes (each wrapped by wrapper, running in their own JVMs). There should only be a single service installed in the OS, the number of subprocesses may vary between deployments.
Currently, we're thinking about simply launching the sub-wrapper instances using i.e. Runtime.exec("wrapper-subcomponent.bat") and making sure to terminate them when the master service is terminated.
Are there any interactions between the multiple wrapper instances we need to be aware of when a wrapper service launches other wrapper instances? Another challenge we are facing with our approach is how to signal the service wrapper managed sub processes that they should be gracefully terminated, IOW how they would still get some seconds to clean up.
Process.destroy will most likely immediately kill the wrapper sub process, won't it? Do you have any API that is better suited launching/controlling multiple service wrapper managed subprocesses than java.lang.Runtime?
We are using the licensed community version of ServiceWrapper.
Regards,
--Christopher
> -----Original Message-----
> From: Leif Mortenson [mailto:lei...@ta...]
> Sent: Tuesday, September 21, 2010 1:46 AM
> To: wra...@li...
> Subject: Re: [Wrapper-user] configuring, installing and launching services from within a wrapper
> service
>
> Christopher,
> The Wrapper does not directly provide a way to install new services,
> but you can start, stop, pause, resume, etc. Services which are
> already installed. This is done using the
> WrapperManger.sendServiceControlCode method. See the Javadocs:
> http://wrapper.tanukisoftware.com/doc/english/javadocs.html
>
> Before you can make use of these service methods however, you will
> need to install a Security Manager in the JVM:
> http://wrapper.tanukisoftware.com/doc/english/security-model.html
>
> Please let me know what you find missing here, as well as how you
> would ideally like to see it work.
>
> Cheers,
> Leif
>
> On Tue, Sep 21, 2010 at 3:57 AM, Christopher Taylor <ct...@co...> wrote:
> > Hi List,
> >
> >
> >
> > Sorry if this has been asked before, the list search on sf didn't work for
> > me.
> >
> >
> >
> > Is there an API in wrapper that allows me to configure, install and run/stop
> > services in separate JVM instances from within my program? I could generate
> > and exec wrapper scripts, but I'd like to know whether there is an API for
> > this.
> >
> >
> >
> > I'd appreciate any pointers.
> >
> >
> >
> > Regards,
> >
> > --Christopher
>
> ------------------------------------------------------------------------------
> Start uncovering the many advantages of virtual appliances
> and start using them to simplify application deployment and
> accelerate your shift to cloud computing.
> http://p.sf.net/sfu/novell-sfdev2dev
> _______________________________________________
> Wrapper-user mailing list
> Wra...@li...
> https://lists.sourceforge.net/lists/listinfo/wrapper-user
|
|
From: Leif M. <lei...@ta...> - 2010-09-21 08:46:16
|
Christopher, The Wrapper does not directly provide a way to install new services, but you can start, stop, pause, resume, etc. Services which are already installed. This is done using the WrapperManger.sendServiceControlCode method. See the Javadocs: http://wrapper.tanukisoftware.com/doc/english/javadocs.html Before you can make use of these service methods however, you will need to install a Security Manager in the JVM: http://wrapper.tanukisoftware.com/doc/english/security-model.html Please let me know what you find missing here, as well as how you would ideally like to see it work. Cheers, Leif On Tue, Sep 21, 2010 at 3:57 AM, Christopher Taylor <ct...@co...> wrote: > Hi List, > > > > Sorry if this has been asked before, the list search on sf didn’t work for > me. > > > > Is there an API in wrapper that allows me to configure, install and run/stop > services in separate JVM instances from within my program? I could generate > and exec wrapper scripts, but I’d like to know whether there is an API for > this. > > > > I’d appreciate any pointers. > > > > Regards, > > --Christopher |
|
From: Wardell, M. <Mar...@co...> - 2010-09-21 08:40:18
|
(resending as last message was scrubbed) Hi Leif Many thanks for the response - I didn't actually receive it though as our mail filters probably were over-zealous. I have run the process in debug mode as you suggested and have attached the logs below. We have been running a very old version (3.2.3) of the wrapper which is why we have not seen this before. After looking a bit deeper, I do not see the issue if I run it on my workstation, only on our servers. Is it possible that monitoring software could be causing this? Regards Mark 2010/09/15 08:49:03.921 | Allocating a console for the service. 2010/09/15 08:49:03.936 | Found console window. 2010/09/15 08:49:03.936 | --> Wrapper Started as Service 2010/09/15 08:49:03.936 | Java Service Wrapper Community Edition 32-bit 3.5.3 2010/09/15 08:49:03.936 | Copyright (C) 1999-2010 Tanuki Software, Ltd. All Rights Reserved. 2010/09/15 08:49:03.936 | http://wrapper.tanukisoftware.com 2010/09/15 08:49:03.936 | 2010/09/15 08:49:03.936 | Release time: 2010/08/03 00:00:00 2010/09/15 08:49:03.936 | Build time: 2010/08/04 02:02:00 2010/09/15 08:49:03.936 | Timezone: GMT Standard Time (GMT Daylight Time) Offset: 0, hasDaylight: 1 2010/09/15 08:49:03.936 | Using tick timer. 2010/09/15 08:49:03.936 | 2010/09/15 08:49:03.936 | Environment variables (Source | Name=Value) BEGIN: 2010/09/15 08:49:03.936 | P---- | ALLUSERSPROFILE=C:\Documents and Settings\All Users 2010/09/15 08:49:03.936 | PS--- | CLASSPATH=E:\tibco\tibrv\8.2\lib\tibrvnative.jar 2010/09/15 08:49:03.936 | PS--- | ClusterLog=C:\WINDOWS\Cluster\cluster.log 2010/09/15 08:49:03.936 | P---- | CommonProgramFiles=C:\Program Files\Common Files 2010/09/15 08:49:03.936 | P---- | COMPUTERNAME=SERVER123 2010/09/15 08:49:03.936 | PS--- | ComSpec=C:\WINDOWS\system32\cmd.exe 2010/09/15 08:49:03.936 | PS--- | FP_NO_HOST_CHECK=NO 2010/09/15 08:49:03.936 | PS--C | JAVA_HOME=E:/java/jdk1.6.0_21 2010/09/15 08:49:03.936 | PS--- | NUMBER_OF_PROCESSORS=8 2010/09/15 08:49:03.936 | PS--- | OS=Windows_NT 2010/09/15 08:49:03.936 | PS--- | Path=E:\tibco\tibrv\8.2\bin;C:\Program Files\Windows Resource Kits\Tools\;C:\Program Files\Support Tools\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem; 2010/09/15 08:49:03.936 | PS--- | PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH 2010/09/15 08:49:03.936 | PS--- | PROCESSOR_ARCHITECTURE=x86 2010/09/15 08:49:03.936 | PS--- | PROCESSOR_IDENTIFIER=x86 Family 15 Model 33 Stepping 0, AuthenticAMD 2010/09/15 08:49:03.936 | PS--- | PROCESSOR_LEVEL=15 2010/09/15 08:49:03.936 | PS--- | PROCESSOR_REVISION=2100 2010/09/15 08:49:03.936 | P---- | ProgramFiles=C:\Program Files 2010/09/15 08:49:03.936 | PS--- | RV_HOME=E:\tibco\tibrv\8.2 2010/09/15 08:49:03.936 | P---- | SystemDrive=C: 2010/09/15 08:49:03.936 | P---- | SystemRoot=C:\WINDOWS 2010/09/15 08:49:03.936 | PS--- | TEMP=D:\Temp 2010/09/15 08:49:03.936 | PS--- | TMP=D:\Temp 2010/09/15 08:49:03.936 | P---- | USERPROFILE=C:\Documents and Settings\Default User 2010/09/15 08:49:03.936 | PS--- | windir=C:\WINDOWS 2010/09/15 08:49:03.936 | ---W- | WRAPPER_ARCH=x86 2010/09/15 08:49:03.936 | ---W- | WRAPPER_BIN_DIR=E:\bin 2010/09/15 08:49:03.936 | ---W- | WRAPPER_BITS=32 2010/09/15 08:49:03.936 | ---W- | WRAPPER_FILE_SEPARATOR=\ 2010/09/15 08:49:03.936 | ---W- | WRAPPER_HOST_NAME=SERVER123 2010/09/15 08:49:03.936 | ---W- | WRAPPER_HOSTNAME=SERVER123 2010/09/15 08:49:03.936 | ---W- | WRAPPER_OS=windows 2010/09/15 08:49:03.936 | ---W- | WRAPPER_PATH_SEPARATOR=; 2010/09/15 08:49:03.936 | ---W- | WRAPPER_PID=4684 2010/09/15 08:49:03.936 | ---W- | WRAPPER_WORKING_DIR=E:\bin 2010/09/15 08:49:03.936 | Environment variables END: 2010/09/15 08:49:03.936 | 2010/09/15 08:49:03.936 | Use tick timer mutex=FALSE 2010/09/15 08:49:04.030 | active log file changed: ..\log\ManagementAgent_jsw.log 2010/09/15 08:49:04.140 | server listening on port 32000. 2010/09/15 08:49:04.140 | Ping settings: wrapper.ping.interval=5, wrapper.ping.interval.logged=1, wrapper.ping.timeout=30 2010/09/15 08:49:04.233 | Launching a JVM... 2010/09/15 08:49:04.233 | Command: "E:\java\jdk1.6.0_21\bin\java" -server -Dlog4j.configuration=ManagementAgent.log4j.xml -Djmx.server.address.external=service:jmx:jmxmp://localhost:10002 -Xms64m -Xmx256m -Djava.library.path="../lib;E:\tibco\tibrv\8.2/bin" -classpath "../resources;../lib/wrapper.jar;../lib/log4j-1.2.16.jar;../lib/Manageme ntAgent-1.8.jar;../lib/TransportHandler-no-rv-2.1.jar;E:\tibco\tibrv\8.2 /lib/tibrvj.jar" -Dwrapper.key="RXS7MvPmBUIxL1ET" -Dwrapper.port=32000 -Dwrapper.jvm.port.min=31000 -Dwrapper.jvm.port.max=31999 -Dwrapper.debug="TRUE" -Dwrapper.pid=4684 -Dwrapper.version="3.5.3" -Dwrapper.native_library="wrapper" -Dwrapper.service="TRUE" -Dwrapper.cpu.timeout="10" -Dwrapper.jvmid=1 org.tanukisoftware.wrapper.WrapperSimpleApp com.xyz.management.agent.ManagementAgent ../resources/ManagementAgent.props 2010/09/15 08:49:04.249 | JVM started (PID=8280) 2010/09/15 08:49:04.436 | WrapperManager Debug: WrapperManager class initialized by thread: main Using classloader: sun.misc.Launcher$AppClassLoader@18d107f 2010/09/15 08:49:04.436 | WrapperManager: Initializing... 2010/09/15 08:49:04.436 | WrapperManager Debug: JVM #1 2010/09/15 08:49:04.436 | WrapperManager Debug: Running a 32-bit JVM. 2010/09/15 08:49:04.436 | WrapperManager Debug: org.tanukisoftware.wrapper.WrapperManager package information: 2010/09/15 08:49:04.436 | WrapperManager Debug: Implementation Title: org.tanukisoftware.wrapper 2010/09/15 08:49:04.436 | WrapperManager Debug: Implementation Vendor: Tanuki Software, Ltd. 2010/09/15 08:49:04.436 | WrapperManager Debug: Implementation Version: 3.5.3 2010/09/15 08:49:04.436 | WrapperManager Debug: Is Sealed?: False 2010/09/15 08:49:04.436 | WrapperManager Debug: org.tanukisoftware.wrapper.WrapperManager protection domain: 2010/09/15 08:49:04.436 | WrapperManager Debug: Location: file:/E:/lib/wrapper.jar 2010/09/15 08:49:04.546 | WrapperManager Debug: Size: 114,330 2010/09/15 08:49:04.546 | WrapperManager Debug: MD5: cfc2b2f27beb9df2ef8511ea5032c69f 2010/09/15 08:49:04.546 | WrapperManager Debug: Registering shutdown hook 2010/09/15 08:49:04.546 | WrapperManager Debug: Using wrapper 2010/09/15 08:49:04.640 | WrapperManager Debug: Registered MBean with Platform MBean Server: org.tanukisoftware.wrapper:type=WrapperManager 2010/09/15 08:49:04.640 | WrapperManager Debug: Load native library. One or more attempts may fail if platform specific libraries do not exist. This is NORMAL and is only a problem if they all fail. 2010/09/15 08:49:04.640 | WrapperManager Debug: Unable to load native library: wrapper-windows-x86-32.dll Cause: no wrapper-windows-x86-32 in java.library.path 2010/09/15 08:49:04.640 | WrapperManager Debug: Loaded native library: 2010/09/15 08:49:04.640 | WrapperManager Debug: Loaded native localization method. 2010/09/15 08:49:04.640 | WrapperManager Debug: Calling native initialization method. 2010/09/15 08:49:04.640 | WrapperJNI Debug: Initializing WrapperManager native library. 2010/09/15 08:49:04.640 | WrapperJNI Debug: Java Executable: E:\java\jdk1.6.0_21\bin\java.exe 2010/09/15 08:49:04.640 | WrapperJNI Debug: Native Library: E:\lib\wrapper.dll 2010/09/15 08:49:04.640 | WrapperJNI Debug: Windows version: 5.2.3790 2010/09/15 08:49:04.640 | WrapperManager Debug: Java Version : 1.6.0_21-b06 Java HotSpot(TM) Server VM 2010/09/15 08:49:04.640 | WrapperManager Debug: Java VM Vendor : Sun Microsystems Inc. 2010/09/15 08:49:04.640 | WrapperManager Debug: OS Name : Windows 2003 2010/09/15 08:49:04.640 | WrapperManager Debug: OS Arch : x86 2010/09/15 08:49:04.640 | WrapperManager Debug: 2010/09/15 08:49:04.640 | WrapperManager Debug: Control event monitor thread started. 2010/09/15 08:49:04.640 | WrapperManager Debug: Startup runner thread started. 2010/09/15 08:49:04.952 | WrapperManager Debug: WrapperManager.start(org.tanukisoftware.wrapper.WrapperSimpleApp@1f82982 , args["../resources/ManagementAgent.props"]) called by thread: main 2010/09/15 08:49:04.952 | WrapperManager Debug: Communications runner thread started. 2010/09/15 08:49:04.952 | WrapperManager Debug: Open socket to wrapper...Wrapper-Connection 2010/09/15 08:49:04.952 | WrapperManager Debug: Unable to open socket to Wrapper from port 31,000, already in use. 2010/09/15 08:49:04.952 | WrapperManager Debug: Unable to open socket to Wrapper from port 31,001, already in use. 2010/09/15 08:49:04.952 | WrapperManager Debug: Unable to open socket to Wrapper from port 31,002, already in use. 2010/09/15 08:49:04.952 | WrapperManager Debug: Unable to open socket to Wrapper from port 31,003, already in use. 2010/09/15 08:49:04.952 | WrapperManager Debug: Unable to open socket to Wrapper from port 31,004, already in use. 2010/09/15 08:49:04.952 | WrapperManager Debug: Unable to open socket to Wrapper from port 31,005, already in use. 2010/09/15 08:49:04.952 | WrapperManager Debug: Unable to open socket to Wrapper from port 31,006, already in use. 2010/09/15 08:49:04.952 | WrapperManager Debug: Unable to open socket to Wrapper from port 31,007, already in use. 2010/09/15 08:49:04.952 | WrapperManager Debug: Unable to open socket to Wrapper from port 31,008, already in use. 2010/09/15 08:49:04.952 | WrapperManager Debug: Unable to open socket to Wrapper from port 31,009, already in use. 2010/09/15 08:49:04.952 | WrapperManager Debug: Unable to open socket to Wrapper from port 31,010, already in use. 2010/09/15 08:49:04.952 | WrapperManager Debug: Opened Socket from 31,011 to 32,000 2010/09/15 08:49:04.952 | WrapperManager Debug: Send a packet KEY : RXS7MvPmBUIxL1ET 2010/09/15 08:49:04.952 | WrapperManager Debug: handleSocket(Socket[addr=/127.0.0.1,port=32000,localport=31011]) 2010/09/15 08:49:04.952 | accepted a socket from 127.0.0.1 on port 31011 2010/09/15 08:49:04.952 | closing backend server. 2010/09/15 08:49:04.952 | read a packet KEY : RXS7MvPmBUIxL1ET 2010/09/15 08:49:04.952 | Got key from JVM: RXS7MvPmBUIxL1ET 2010/09/15 08:49:04.952 | send a packet LOW_LOG_LEVEL : 1 2010/09/15 08:49:04.952 | send a packet PING_TIMEOUT : 30 2010/09/15 08:49:04.952 | send a packet LOGFILE : ..\log\ManagementAgent_jsw_ROLLNUM.log 2010/09/15 08:49:04.952 | send a packet PROPERTIES : (Property Values) 2010/09/15 08:49:04.952 | Start Application. 2010/09/15 08:49:04.952 | send a packet START : start 2010/09/15 08:49:05.046 | WrapperManager Debug: Received a packet LOW_LOG_LEVEL : 1 2010/09/15 08:49:05.046 | WrapperManager Debug: LowLogLevel from Wrapper is 1 2010/09/15 08:49:05.046 | WrapperManager Debug: Received a packet PING_TIMEOUT : 30 2010/09/15 08:49:05.046 | WrapperManager Debug: PingTimeout from Wrapper is 30,000 2010/09/15 08:49:05.046 | WrapperManager Debug: Received a packet LOGFILE : ..\log\ManagementAgent_jsw_ROLLNUM.log 2010/09/15 08:49:05.046 | WrapperManager Debug: Received a packet PROPERTIES : (Property Values) 2010/09/15 08:49:05.046 | WrapperManager Debug: Received a packet START : start 2010/09/15 08:49:05.046 | WrapperManager Debug: Java temporary directory: D:\Temp 2010/09/15 08:49:05.046 | WrapperManager Debug: calling WrapperListener.start() 2010/09/15 08:49:05.046 | WrapperManager Debug: WrapperListener.start runner thread started. 2010/09/15 08:49:05.046 | WrapperSimpleApp Debug: start(args) Will wait up to 2 seconds for the main method to complete. 2010/09/15 08:49:05.046 | WrapperSimpleApp Debug: invoking main method 2010/09/15 08:49:05.046 | Loading properties file [../resources/ManagementAgent.props]. 2010/09/15 08:49:06.061 | WrapperManager Debug: Send a packet START_PENDING : 5000 2010/09/15 08:49:06.061 | read a packet START_PENDING : 5000 2010/09/15 08:49:06.061 | JVM signaled a start pending with waitHint of 5000 millis. 2010/09/15 08:49:06.468 | WrapperSimpleApp Debug: main method completed 2010/09/15 08:49:06.468 | WrapperSimpleApp Debug: start(args) end. Main Completed=true, exitCode=null 2010/09/15 08:49:06.468 | WrapperManager Debug: returned from WrapperListener.start() 2010/09/15 08:49:06.468 | WrapperManager Debug: Send a packet STARTED : 2010/09/15 08:49:06.468 | WrapperManager Debug: WrapperListener.start runner thread stopped. 2010/09/15 08:49:06.468 | read a packet STARTED : 2010/09/15 08:49:06.468 | JVM signaled that it was started. 2010/09/15 08:49:06.561 | WrapperManager Debug: Startup runner thread stopped. 2010/09/15 08:49:08.186 | send a packet PING : ping 2010/09/15 08:49:08.280 | WrapperManager Debug: Received a packet PING : ping 2010/09/15 08:49:08.280 | WrapperManager Debug: Send a packet PING : ping 2010/09/15 08:49:08.280 | read a packet PING : ping 2010/09/15 08:49:12.312 | send a packet PING : ping 2010/09/15 08:49:12.405 | WrapperManager Debug: Received a packet PING : ping 2010/09/15 08:49:12.405 | WrapperManager Debug: Send a packet PING : ping 2010/09/15 08:49:12.405 | read a packet PING : ping 2010/09/15 08:49:15.437 | SERVICE_CONTROL_INTERROGATE 2010/09/15 08:49:15.437 | Previous control code (4) was still in queue, overwriting with (4). 2010/09/15 08:49:15.437 | SERVICE_CONTROL_INTERROGATE 2010/09/15 08:49:15.437 | Previous control code (4) was still in queue, overwriting with (4). 2010/09/15 08:49:15.437 | SERVICE_CONTROL_INTERROGATE 2010/09/15 08:49:15.437 | Previous control code (4) was still in queue, overwriting with (4). 2010/09/15 08:49:15.437 | SERVICE_CONTROL_INTERROGATE 2010/09/15 08:49:15.437 | send a packet SERVICE_CONTROL_CODE : 4 2010/09/15 08:49:15.530 | WrapperManager Debug: Received a packet SERVICE_CONTROL_CODE : 4 2010/09/15 08:49:15.530 | WrapperManager Debug: ServiceControlCode from Wrapper with code 4 2010/09/15 08:49:16.437 | send a packet PING : ping 2010/09/15 08:49:16.530 | WrapperManager Debug: Received a packet PING : ping 2010/09/15 08:49:16.530 | WrapperManager Debug: Send a packet PING : ping 2010/09/15 08:49:16.530 | read a packet PING : ping 2010/09/15 08:49:20.562 | send a packet PING : ping 2010/09/15 08:49:20.655 | WrapperManager Debug: Received a packet PING : ping 2010/09/15 08:49:20.655 | WrapperManager Debug: Send a packet PING : ping 2010/09/15 08:49:20.655 | read a packet PING : ping 2010/09/15 08:49:24.687 | send a packet PING : ping 2010/09/15 08:49:24.780 | WrapperManager Debug: Received a packet PING : ping 2010/09/15 08:49:24.780 | WrapperManager Debug: Send a packet PING : ping 2010/09/15 08:49:24.780 | read a packet PING : ping 2010/09/15 08:49:25.687 | SERVICE_CONTROL_INTERROGATE 2010/09/15 08:49:25.687 | Previous control code (4) was still in queue, overwriting with (4). 2010/09/15 08:49:25.687 | SERVICE_CONTROL_INTERROGATE 2010/09/15 08:49:25.687 | Previous control code (4) was still in queue, overwriting with (4). 2010/09/15 08:49:25.687 | SERVICE_CONTROL_INTERROGATE 2010/09/15 08:49:25.687 | send a packet SERVICE_CONTROL_CODE : 4 2010/09/15 08:49:25.796 | WrapperManager Debug: Received a packet SERVICE_CONTROL_CODE : 4 2010/09/15 08:49:25.796 | WrapperManager Debug: ServiceControlCode from Wrapper with code 4 2010/09/15 08:49:28.812 | send a packet PING : ping 2010/09/15 08:49:28.906 | WrapperManager Debug: Received a packet PING : ping 2010/09/15 08:49:28.906 | WrapperManager Debug: Send a packet PING : ping 2010/09/15 08:49:28.906 | read a packet PING : ping 2010/09/15 08:49:32.937 | send a packet PING : ping 2010/09/15 08:49:33.031 | WrapperManager Debug: Received a packet PING : ping 2010/09/15 08:49:33.031 | WrapperManager Debug: Send a packet PING : ping 2010/09/15 08:49:33.031 | read a packet PING : ping 2010/09/15 08:49:36.046 | SERVICE_CONTROL_INTERROGATE 2010/09/15 08:49:36.046 | Previous control code (4) was still in queue, overwriting with (4). 2010/09/15 08:49:36.046 | SERVICE_CONTROL_INTERROGATE 2010/09/15 08:49:36.046 | Previous control code (4) was still in queue, overwriting with (4). 2010/09/15 08:49:36.046 | SERVICE_CONTROL_INTERROGATE 2010/09/15 08:49:36.046 | send a packet SERVICE_CONTROL_CODE : 4 2010/09/15 08:49:36.156 | WrapperManager Debug: Received a packet SERVICE_CONTROL_CODE : 4 2010/09/15 08:49:36.156 | WrapperManager Debug: ServiceControlCode from Wrapper with code 4 2010/09/15 08:49:37.062 | send a packet PING : ping 2010/09/15 08:49:37.156 | WrapperManager Debug: Received a packet PING : ping 2010/09/15 08:49:37.156 | WrapperManager Debug: Send a packet PING : ping 2010/09/15 08:49:37.156 | read a packet PING : ping 2010/09/15 08:49:41.187 | send a packet PING : ping 2010/09/15 08:49:41.281 | WrapperManager Debug: Received a packet PING : ping 2010/09/15 08:49:41.281 | WrapperManager Debug: Send a packet PING : ping 2010/09/15 08:49:41.281 | read a packet PING : ping 2010/09/15 08:49:45.296 | send a packet PING : ping 2010/09/15 08:49:45.406 | WrapperManager Debug: Received a packet PING : ping 2010/09/15 08:49:45.406 | WrapperManager Debug: Send a packet PING : ping 2010/09/15 08:49:45.406 | read a packet PING : ping 2010/09/15 08:49:46.312 | SERVICE_CONTROL_INTERROGATE 2010/09/15 08:49:46.312 | Previous control code (4) was still in queue, overwriting with (4). 2010/09/15 08:49:46.312 | SERVICE_CONTROL_INTERROGATE 2010/09/15 08:49:46.312 | Previous control code (4) was still in queue, overwriting with (4). 2010/09/15 08:49:46.312 | SERVICE_CONTROL_INTERROGATE 2010/09/15 08:49:46.312 | send a packet SERVICE_CONTROL_CODE : 4 2010/09/15 08:49:46.406 | WrapperManager Debug: Received a packet SERVICE_CONTROL_CODE : 4 2010/09/15 08:49:46.406 | WrapperManager Debug: ServiceControlCode from Wrapper with code 4 2010/09/15 08:49:49.421 | send a packet PING : ping 2010/09/15 08:49:49.531 | WrapperManager Debug: Received a packet PING : ping 2010/09/15 08:49:49.531 | WrapperManager Debug: Send a packet PING : ping 2010/09/15 08:49:49.531 | read a packet PING : ping 2010/09/15 08:49:53.546 | send a packet PING : ping 2010/09/15 08:49:53.656 | WrapperManager Debug: Received a packet PING : ping 2010/09/15 08:49:53.656 | WrapperManager Debug: Send a packet PING : ping 2010/09/15 08:49:53.656 | read a packet PING : ping 2010/09/15 08:49:56.671 | SERVICE_CONTROL_INTERROGATE 2010/09/15 08:49:56.671 | Previous control code (4) was still in queue, overwriting with (4). 2010/09/15 08:49:56.671 | SERVICE_CONTROL_INTERROGATE 2010/09/15 08:49:56.671 | Previous control code (4) was still in queue, overwriting with (4). 2010/09/15 08:49:56.671 | SERVICE_CONTROL_INTERROGATE 2010/09/15 08:49:56.671 | send a packet SERVICE_CONTROL_CODE : 4 2010/09/15 08:49:56.765 | WrapperManager Debug: Received a packet SERVICE_CONTROL_CODE : 4 2010/09/15 08:49:56.765 | WrapperManager Debug: ServiceControlCode from Wrapper with code 4 2010/09/15 08:49:57.672 | send a packet PING : ping 2010/09/15 08:49:57.781 | WrapperManager Debug: Received a packet PING : ping 2010/09/15 08:49:57.781 | WrapperManager Debug: Send a packet PING : ping 2010/09/15 08:49:57.781 | read a packet PING : ping 2010/09/15 08:50:01.797 | send a packet PING : ping 2010/09/15 08:50:01.906 | WrapperManager Debug: Received a packet PING : ping 2010/09/15 08:50:01.906 | WrapperManager Debug: Send a packet PING : ping 2010/09/15 08:50:01.906 | read a packet PING : ping 2010/09/15 08:50:05.922 | send a packet PING : ping 2010/09/15 08:50:06.031 | WrapperManager Debug: Received a packet PING : ping 2010/09/15 08:50:06.031 | WrapperManager Debug: Send a packet PING : ping 2010/09/15 08:50:06.031 | read a packet PING : ping 2010/09/15 08:50:06.937 | SERVICE_CONTROL_INTERROGATE 2010/09/15 08:50:06.937 | Previous control code (4) was still in queue, overwriting with (4). 2010/09/15 08:50:06.937 | SERVICE_CONTROL_INTERROGATE 2010/09/15 08:50:06.937 | Previous control code (4) was still in queue, overwriting with (4). 2010/09/15 08:50:06.937 | SERVICE_CONTROL_INTERROGATE 2010/09/15 08:50:06.937 | send a packet SERVICE_CONTROL_CODE : 4 2010/09/15 08:50:07.031 | WrapperManager Debug: Received a packet SERVICE_CONTROL_CODE : 4 2010/09/15 08:50:07.031 | WrapperManager Debug: ServiceControlCode from Wrapper with code 4 2010/09/15 08:50:10.047 | send a packet PING : ping 2010/09/15 08:50:10.156 | WrapperManager Debug: Received a packet PING : ping 2010/09/15 08:50:10.156 | WrapperManager Debug: Send a packet PING : ping 2010/09/15 08:50:10.156 | read a packet PING : ping 2010/09/15 08:50:11.953 | SERVICE_CONTROL_STOP 2010/09/15 08:50:11.953 | send a packet SERVICE_CONTROL_CODE : 1 2010/09/15 08:50:11.953 | wrapperStopProcess(0) called. 2010/09/15 08:50:11.953 | Sending stop signal to JVM 2010/09/15 08:50:11.953 | send a packet STOP : NULL 2010/09/15 08:50:12.062 | WrapperManager Debug: Received a packet SERVICE_CONTROL_CODE : 1 2010/09/15 08:50:12.062 | WrapperManager Debug: ServiceControlCode from Wrapper with code 1 2010/09/15 08:50:12.062 | WrapperManager Debug: Received a packet STOP : 2010/09/15 08:50:12.062 | WrapperManager Debug: Thread, Wrapper-Connection, handling the shutdown process. 2010/09/15 08:50:12.062 | WrapperManager Debug: calling listener.stop() 2010/09/15 08:50:12.062 | WrapperManager Debug: Waiting for WrapperListener.stop runner thread to complete. 2010/09/15 08:50:12.062 | WrapperManager Debug: WrapperListener.stop runner thread started. 2010/09/15 08:50:12.062 | WrapperManager Debug: Stopped checking for control events. 2010/09/15 08:50:12.062 | WrapperSimpleApp Debug: stop(0) 2010/09/15 08:50:12.062 | WrapperManager Debug: WrapperListener.stop runner thread stopped. 2010/09/15 08:50:12.062 | WrapperManager Debug: returned from listener.stop() -> 0 2010/09/15 08:50:12.062 | WrapperManager Debug: shutdownJVM(0) Thread: Wrapper-Connection 2010/09/15 08:50:12.062 | WrapperManager Debug: wait for 0 shutdown locks to be released. 2010/09/15 08:50:12.062 | WrapperManager Debug: Send a packet STOPPED : 0 2010/09/15 08:50:12.062 | read a packet STOPPED : 0 2010/09/15 08:50:12.062 | JVM signaled that it was stopped. 2010/09/15 08:50:12.265 | WrapperManager Debug: Closing backend socket. 2010/09/15 08:50:12.265 | socket read no code (closed?). 2010/09/15 08:50:12.265 | closing backend socket. 2010/09/15 08:50:12.765 | WrapperManager Debug: calling System.exit(0) 2010/09/15 08:50:13.562 | JVM process exited with a code of 0, leaving the wrapper exit code set to 0. 2010/09/15 08:50:13.562 | JVM exited normally. 2010/09/15 08:50:13.765 | <-- Wrapper Stopped This e-mail is confidential and is intended only for the person to whom it is addressed. It may be privileged and should not be read, copied or used by anyone other than the intended recipient. If you are not that person, you are not permitted to make use of the information and you are requested to notify the sender immediately that you have received it and then destroy the copy in your possession without disclosing its contents to any person. Commerzbank AG may monitor outgoing and incoming e-mails. By replying to this e-mail you consent to such monitoring. We believe, but do not warrant, that this e-mail and any attachments are virus free, but you must take full responsibility for virus checking. This e-mail was sent either by Commerzbank AG, London Branch, or by Commerzbank Corporates & Markets, a division of Commerzbank AG. Commerzbank AG is a company incorporated in the Federal Republic of Germany and registered in England (registered number FC008139, place of business 30 Gresham Street, London EC2V 7PG) and is authorised by Bundesanstalt fuer Finanzdienstleistungsaufsicht (BaFin) and authorised and subject to limited regulation by the Financial Services Authority (FSA). |
|
From: Christopher T. <ct...@co...> - 2010-09-20 18:57:37
|
Hi List, Sorry if this has been asked before, the list search on sf didn't work for me. Is there an API in wrapper that allows me to configure, install and run/stop services in separate JVM instances from within my program? I could generate and exec wrapper scripts, but I'd like to know whether there is an API for this. I'd appreciate any pointers. Regards, --Christopher |
|
From: Dave M. <mui...@ya...> - 2010-09-20 16:43:49
|
The wrapper.restart.delay "...controls the number of seconds to pause between a
JVM exiting for any reason, and a new JVM being launched."
But I wonder, is there any way to use criteria other than time to decide when to
relaunch? For example, is there a way to configure JSW to monitor the value of a
JMX MBean attribute and wait to restart the JVM until that MBean attribute takes
on a specific value?
Thanks,
Dave
|
|
From: Christian <chr...@ta...> - 2010-09-17 02:43:41
|
vishal,
please have a look on the Service Controller ("sc") command available on
windows since WinNT4.
you might take a look at the "failure"-part:
DESCRIPTION:
Changes the actions upon failure
USAGE:
sc <server> failure [service name] <option1> <option2>...
OPTIONS:
reset= <Length of period of no failures (in seconds)
after which to reset the failure count to 0 (may be
INFINITE)>
(Must be used in conjunction with actions= )
reboot= <Message broadcast before rebooting on failure>
command= <Command line to be run on failure>
actions= <Failure actions and their delay time (in
milliseconds),
separated by / (forward slash) -- e.g.,
run/5000/reboot/800
Valid actions are <run|restart|reboot> >
(Must be used in conjunction with the reset= option)
Hope this helps you out.
Sincerely,
Christian
-----Original Message-----
From: Vishal K <vis...@gm...>
Reply-to: wra...@li...
To: wra...@li...
Subject: Re: [Wrapper-user] Wrapper-user Digest, Vol 52, Issue 4
Date: Thu, 16 Sep 2010 10:50:23 -0400
Hi Leif,
Thanks for the info. This method does not work for us since it requires
manual setup. I think this is a serious limitation of the wrapper.
Unfortunately, without this fix we may not be able to use Tanuki. Do you
have an estimate of when a fix for this would be released? Can we do the
recovery settings that you mentioned by running an external command (and
need not be part of wrapper.exe)? If yes, that would work as an
temporary solution until a real fix is available, because we can script
it.
Your help will be greatly appreciated.
Regards,
-Vishal
Date: Thu, 16 Sep 2010 19:42:57 +0900
From: Leif Mortenson <lei...@ta...>
Subject: Re: [Wrapper-user] What happens if wrapper.exe dies?
To: wra...@li...
Message-ID:
<AANLkTikHFr3ht
+gFR...@ma...>
Content-Type: text/plain; charset=ISO-8859-1
Vishal,
After you have installed the Wrapper as a service, go into the
Windows
Service Manager and view the Properties for the Wrapper
service. You
can set this up using the "Recovery" tab.
http://mdenomy.files.wordpress.com/2008/02/configuring-recovery-2.jpg?w=500
If you kill the Wrapper process, then the JVM will keep running
for up
to 3 times the value of the wrapper.ping.timeout property. It
will
then shut itself down. If you use the Recovery feature, I
recommend
setting the delay before restart to at least this long. If you
start
a second JVM before the first has shut itself down then you
would
encounter port conflicts when the second JVM tries to start.
You
could handle such errors with the normal JVM restart features in
the
second Wrapper instance however.
We are looking into what would be involved to support this
directly
from the Wrapper configuration file. That would be in a future
release however.
Please let me know how this works for you.
Cheers,
Leif
On Thu, Sep 16, 2010 at 8:35 AM, Vishal K <vis...@gm...>
wrote:
> Hi All,
>
> I am using java service wrapper on Windows. While
experimenting with the
> wrapper I noticed that if I kill wrapper.exe my also
application dies. After
> wards, neither the wrapper.exe nor my application gets
restarted. Looks like
> we need to run wrapper.exe as a windows service as well.
>
> Any advise on how I can programatically get around this
problem?
>
> Thanks.
> -Vishal
------------------------------
------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________ Wrapper-user mailing list Wra...@li... https://lists.sourceforge.net/lists/listinfo/wrapper-user
|
|
From: Vishal K <vis...@gm...> - 2010-09-17 02:09:34
|
Hi Leif, I realized that we can set the recovery options that you metioned using the 'sc failure' command. So we can first install our service and then use this command to set the recovery options. This will work for us fine. It isn't as bad as I thought it would be. Thanks for your help. Regards, -Vishal On Thu, Sep 16, 2010 at 10:50 AM, Vishal K <vis...@gm...> wrote: > Hi Leif, > > Thanks for the info. This method does not work for us since it requires > manual setup. I think this is a serious limitation of the wrapper. > Unfortunately, without this fix we may not be able to use Tanuki. Do you > have an estimate of when a fix for this would be released? Can we do the > recovery settings that you mentioned by running an external command (and > need not be part of wrapper.exe)? If yes, that would work as an temporary > solution until a real fix is available, because we can script it. > > Your help will be greatly appreciated. > > Regards, > -Vishal > > > Date: Thu, 16 Sep 2010 19:42:57 +0900 > >> From: Leif Mortenson <lei...@ta...> >> Subject: Re: [Wrapper-user] What happens if wrapper.exe dies? >> To: wra...@li... >> Message-ID: >> <AAN...@ma...<AANLkTikHFr3ht%2Bg...@ma...> >> > >> Content-Type: text/plain; charset=ISO-8859-1 >> >> Vishal, >> After you have installed the Wrapper as a service, go into the Windows >> Service Manager and view the Properties for the Wrapper service. You >> can set this up using the "Recovery" tab. >> >> http://mdenomy.files.wordpress.com/2008/02/configuring-recovery-2.jpg?w=500 >> >> If you kill the Wrapper process, then the JVM will keep running for up >> to 3 times the value of the wrapper.ping.timeout property. It will >> then shut itself down. If you use the Recovery feature, I recommend >> setting the delay before restart to at least this long. If you start >> a second JVM before the first has shut itself down then you would >> encounter port conflicts when the second JVM tries to start. You >> could handle such errors with the normal JVM restart features in the >> second Wrapper instance however. >> >> We are looking into what would be involved to support this directly >> from the Wrapper configuration file. That would be in a future >> release however. >> >> Please let me know how this works for you. >> >> Cheers, >> Leif >> >> On Thu, Sep 16, 2010 at 8:35 AM, Vishal K <vis...@gm...> wrote: >> > Hi All, >> > >> > I am using java service wrapper on Windows. While experimenting with the >> > wrapper I noticed that if I kill wrapper.exe my also application dies. >> After >> > wards, neither the wrapper.exe nor my application gets restarted. Looks >> like >> > we need to run wrapper.exe as a windows service as well. >> > >> > Any advise on how I can programatically get around this problem? >> > >> > Thanks. >> > -Vishal >> >> >> >> ------------------------------ >> > |
|
From: Vishal K <vis...@gm...> - 2010-09-16 14:50:36
|
Hi Leif, Thanks for the info. This method does not work for us since it requires manual setup. I think this is a serious limitation of the wrapper. Unfortunately, without this fix we may not be able to use Tanuki. Do you have an estimate of when a fix for this would be released? Can we do the recovery settings that you mentioned by running an external command (and need not be part of wrapper.exe)? If yes, that would work as an temporary solution until a real fix is available, because we can script it. Your help will be greatly appreciated. Regards, -Vishal Date: Thu, 16 Sep 2010 19:42:57 +0900 > From: Leif Mortenson <lei...@ta...> > Subject: Re: [Wrapper-user] What happens if wrapper.exe dies? > To: wra...@li... > Message-ID: > <AAN...@ma...<AANLkTikHFr3ht%2Bg...@ma...> > > > Content-Type: text/plain; charset=ISO-8859-1 > > Vishal, > After you have installed the Wrapper as a service, go into the Windows > Service Manager and view the Properties for the Wrapper service. You > can set this up using the "Recovery" tab. > http://mdenomy.files.wordpress.com/2008/02/configuring-recovery-2.jpg?w=500 > > If you kill the Wrapper process, then the JVM will keep running for up > to 3 times the value of the wrapper.ping.timeout property. It will > then shut itself down. If you use the Recovery feature, I recommend > setting the delay before restart to at least this long. If you start > a second JVM before the first has shut itself down then you would > encounter port conflicts when the second JVM tries to start. You > could handle such errors with the normal JVM restart features in the > second Wrapper instance however. > > We are looking into what would be involved to support this directly > from the Wrapper configuration file. That would be in a future > release however. > > Please let me know how this works for you. > > Cheers, > Leif > > On Thu, Sep 16, 2010 at 8:35 AM, Vishal K <vis...@gm...> wrote: > > Hi All, > > > > I am using java service wrapper on Windows. While experimenting with the > > wrapper I noticed that if I kill wrapper.exe my also application dies. > After > > wards, neither the wrapper.exe nor my application gets restarted. Looks > like > > we need to run wrapper.exe as a windows service as well. > > > > Any advise on how I can programatically get around this problem? > > > > Thanks. > > -Vishal > > > > ------------------------------ > |
|
From: Leif M. <lei...@ta...> - 2010-09-16 10:43:05
|
Vishal, After you have installed the Wrapper as a service, go into the Windows Service Manager and view the Properties for the Wrapper service. You can set this up using the "Recovery" tab. http://mdenomy.files.wordpress.com/2008/02/configuring-recovery-2.jpg?w=500 If you kill the Wrapper process, then the JVM will keep running for up to 3 times the value of the wrapper.ping.timeout property. It will then shut itself down. If you use the Recovery feature, I recommend setting the delay before restart to at least this long. If you start a second JVM before the first has shut itself down then you would encounter port conflicts when the second JVM tries to start. You could handle such errors with the normal JVM restart features in the second Wrapper instance however. We are looking into what would be involved to support this directly from the Wrapper configuration file. That would be in a future release however. Please let me know how this works for you. Cheers, Leif On Thu, Sep 16, 2010 at 8:35 AM, Vishal K <vis...@gm...> wrote: > Hi All, > > I am using java service wrapper on Windows. While experimenting with the > wrapper I noticed that if I kill wrapper.exe my also application dies. After > wards, neither the wrapper.exe nor my application gets restarted. Looks like > we need to run wrapper.exe as a windows service as well. > > Any advise on how I can programatically get around this problem? > > Thanks. > -Vishal |
|
From: Bila N <bi...@gm...> - 2010-09-16 03:55:02
|
|
From: Bila N <bi...@gm...> - 2010-09-16 03:53:57
|
|
From: Vishal K <vis...@gm...> - 2010-09-15 23:37:23
|
Forgot to mention that I am using Tanuki 3.4.0. On Wed, Sep 15, 2010 at 7:35 PM, Vishal K <vis...@gm...> wrote: > Hi All, > > I am using java service wrapper on Windows. While experimenting with the > wrapper I noticed that if I kill wrapper.exe my also application dies. After > wards, neither the wrapper.exe nor my application gets restarted. Looks like > we need to run wrapper.exe as a windows service as well. > > Any advise on how I can programatically get around this problem? > > Thanks. > -Vishal > |
|
From: Vishal K <vis...@gm...> - 2010-09-15 23:35:40
|
Hi All, I am using java service wrapper on Windows. While experimenting with the wrapper I noticed that if I kill wrapper.exe my also application dies. After wards, neither the wrapper.exe nor my application gets restarted. Looks like we need to run wrapper.exe as a windows service as well. Any advise on how I can programatically get around this problem? Thanks. -Vishal |
|
From: Mauro I. <mau...@en...> - 2010-09-15 09:54:37
|
Hi,
I'm running a simple WrapperListener class as a windows service. My service
does some logging using a default java.util.logging.Logger.
However, I noticed that messages sent to the logger during shutdown are not
logged.
This is some minimalistic code which reproduces the problem (feature?):
****************************************************************************
*************
****************************************************************************
*************
public class Main implements WrapperListener {
public static void main(String[] args) {
WrapperManager.start(new Main(), args);
}
public Integer start(String[] arg0) {
Logger.getLogger("").info("Starting up");
// do stuff here
System.out.println("Started");
return null;
}
public int stop(int exitCode) {
Logger.getLogger("").info("Shutting down");
// do stuff here
System.out.println("Stopped");
return exitCode;
}
}
****************************************************************************
*************
****************************************************************************
*************
And this is the output captured in the logfile:
****************************************************************************
*************
****************************************************************************
*************
STATUS | wrapper | 2010/09/15 11:11:14 | --> Wrapper Started as Console
STATUS | wrapper | 2010/09/15 11:11:14 | Java Service Wrapper Community
Edition 32-bit 3.5.3
STATUS | wrapper | 2010/09/15 11:11:14 | Copyright (C) 1999-2010 Tanuki
Software, Ltd. All Rights Reserved.
STATUS | wrapper | 2010/09/15 11:11:14 |
http://wrapper.tanukisoftware.com
STATUS | wrapper | 2010/09/15 11:11:14 |
STATUS | wrapper | 2010/09/15 11:11:14 | Launching a JVM...
INFO | jvm 1 | 2010/09/15 11:11:14 | WrapperManager: Initializing...
INFO | jvm 1 | 2010/09/15 11:11:14 | 15-set-2010 11.11.14
java.util.logging.LogManager$RootLogger log
INFO | jvm 1 | 2010/09/15 11:11:14 | INFO: Starting up
INFO | jvm 1 | 2010/09/15 11:11:14 | Started
INFO | jvm 1 | 2010/09/15 11:11:15 | Stopped
STATUS | wrapper | 2010/09/15 11:11:17 | <-- Wrapper Stopped
****************************************************************************
*************
****************************************************************************
*************
As you can see, the second call to the logger is ignored.
Is there something I'm missing?
Sincerely,
Mauro
|
|
From: Leif M. <lei...@ta...> - 2010-09-14 14:34:59
|
Mark, Sorry for the delay. The Wrapper's wrapper.dll file has as one of its jobs, the interception of system signals. It is not possible to make a call back into the JVM from within the signal handler itself because a second signal being thrown would result in the JVM crashing. To work around this, the Wrapper stores the signal into a rotating Queue and exits the signal handler. A Java thread then polls this Queue several times per second to see if any signals have been trapped. This Queue has a size of 10 currently. It appears that in your case, you are receiving 10 or more signals between the calls from the JVM to poll for signals. This code has existed as is for about 6 years, and this is the first such problem I have heard of. An easy fix is to increase the queue size to something that would not cause problems, but I am wondering why you are receiving so many signals in the first place. According to the Windows docs, control code #4 is actually reserved. Do you have any idea as to what might be sending this signal on your system? Is it reproduceable? If so, could you enable wrapper.debug=true and then send me the top of the wrapper.conf up until the first few of these warnings? I would like to see if that offers any clues. These are the declarations from the Windows Wincom.h header file. #define CTRL_C_EVENT 0 #define CTRL_BREAK_EVENT 1 #define CTRL_CLOSE_EVENT 2 // 3 is reserved! // 4 is reserved! #define CTRL_LOGOFF_EVENT 5 #define CTRL_SHUTDOWN_EVENT 6 Cheers, Leif On Fri, Sep 10, 2010 at 11:49 PM, Wardell, Mark <Mar...@co...> wrote: > Hi > > I am using community edition 3.5.3 on windows (32 bit) and I gets "loads" of > these in my logs. I have searched for this but haven't found anyone else > reporting the same issues. > > WARN | wrapper | 2010/09/10 15:35:19 | Previous control code (4) was > still in queue, overwriting with (4). > Anyone else seen this and dealt with it? > > Thanks > Mark |