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: jeroen v. <jvr...@gm...> - 2012-03-29 07:02:59
|
Hi, As I'm currently working on a migration to a windows 2008R2 failover cluster, I'm looking into the licenses that will be required to run the Java service wrapper on 64-bit systems. Now, I have already seen that the community edition will probably not do the trick, and we will need to look for the standard en professional edition to support this. However, I do have the following question about that: our new operating system will be 64-bits, but our applications are 32 bit. Let's say in the case, that the 32-bit appliciations would work on the 64-bit operating system(I know that this probably won't be the case), is it still needed to get a standard-professional license for the wrapper(64-bit)? So is the choice for the wrapper platform-depended or application-depended? I think it would be the first option, but just checking to be sure. thanks in advance Vranckx Jeroen |
|
From: Christian M. <chr...@ta...> - 2012-03-29 04:06:00
|
Hello Lars, the argument 'Indberetning' seems to be somewhere defined on the command line already. The Wrapper expects the command line to look like: ./wrapper <command> <configuration file> [configuration properties] [...] where configuration properties are defined as property=value how are you launching the Wrapper? if you use the shell script, please go to the console() (or start(), depending on how you launch) function and insert before "eval $COMMAND_LINE" and echo of the command line, so you should see the whole command line the script is building up and probably get some leads on where the value got inserted. Please let me know if you have any further questions. Thank you, Christian On Wed, Mar 28, 2012 at 9:12 PM, Lars Schnoor <Lar...@if...> wrote: > Hi > > I get the following error when I try to start the wrapper on Linux. > FATAL | wrapper | 2012/03/28 13:59:52 | The argument 'Indberetning' is > not a valid property name-value pair. > Where does the wrapper get this parameter from, I can not see it in the > wrapper.conf, my service has Indberetning as part of the name, but where > does this error occur? > > Lars > > > > ------------------------------------------------------------------------------ > This SF email is sponsosred by: > Try Windows Azure free for 90 days Click Here > http://p.sf.net/sfu/sfd2d-msazure > _______________________________________________ > Wrapper-user mailing list > Wra...@li... > https://lists.sourceforge.net/lists/listinfo/wrapper-user > |
|
From: Lars S. <Lar...@if...> - 2012-03-28 12:28:25
|
Hi I get the following error when I try to start the wrapper on Linux. FATAL | wrapper | 2012/03/28 13:59:52 | The argument 'Indberetning' is not a valid property name-value pair. Where does the wrapper get this parameter from, I can not see it in the wrapper.conf, my service has Indberetning as part of the name, but where does this error occur? Lars |
|
From: Christian M. <chr...@ta...> - 2012-03-28 07:11:11
|
Hello Vranckx, about the restart on log off, you are probably right about that the application gets restarted due to the cluster setting. If that's the case, you should actually see that in the Wrapper log file as well. The 2 options are actually the most easy ways of telling the Wrapper/JVM to ignore the logoffs. However, there is also another way. If you are willing to do some coding, you can take a look at integration method 3: http://wrapper.tanukisoftware.com/doc/english/integrate-listener.html The controlEvent(..) method receives signals/events raised by the System and allows you to implement your own logic on the various signals. The advantage of this option is that you wouldn't need to change the Wrapper version and also can keep running the applications the same way they are running right now. The API for the Wrapper can be found here: http://wrapper.tanukisoftware.com/jdoc/index.html If you have any questions in the implementation, please let me know. Best Regards, Christian On Tue, Mar 27, 2012 at 10:36 PM, jeroen vranckx <jvr...@gm...>wrote: > Thanks for the outstanding service Mr. Mueller, > > Your explanation makes perfect sense. Seems like I was thinking in the > right direction. > I went to check on the tips that you gave me, and was surprised that i > couldn't find the wrapper.ignore_user_logoffs setting. > Did a little resource on what version they are working with, and seems > like they are working with a 3.2.1version. (So that explains the missing > setting ^^). > > Went to check on the programmers also, and it seems that all applications > are running as console applications, and not as services. This explains > pretty much everything. > As they weren't actually running as services but as console applications, > and because they were using an outdated version that didn't have the > wrapper.ignore_user_logoffs setting, > it makes perfect sense that the JVM would shutdown. > > i need to clear a little misunderstanding though. The "so called" services > restarted after a log-off. > This is probably caused by the JVM shutting down like you said, because of > the fact that they are running as console applications. > The cluster sees that his resources went down, so he tries to bring them > back online. I think he probably initiates new JVM's then. > > As it is a production environment, I can't recreate the scenario. It's a > shame, but I think we have it pretty much figured out now, why it was going > wrong ^^. > Don't think there is a way to fix the issue in the currently running > environment.(without having to convert everything to services, or upgrading > to the new version of the wrapper). > > So I'm just gonna concentrate on the new environment. > Now, for the new environment I'll need to make some decissions and if i > understand correctly i have 2 options to avoid the log off issue: > > 1: running the application as a real service (that will ignore the logoff > by default) > > 2: keep using the console application but use the option > ignore_user_logoffs=TRUE (when using at least the 3.3.1 version(i'll be > using the latest version of course ^^)) > > Is this correct, or are there other options? Maybe keep in mind, that we > are using it in a clusterevironment. > > Thanks for your help in advance! > Vranckx Jeroen > > > > On 27 March 2012 13:51, Christian Mueller < > chr...@ta...> wrote: > >> Hello Vranckx, >> >> thank you for your mail. >> >> The native library of the Wrapper (wrapper.dll) is installing a signal >> handler for the JVM, making it possible to intercept signals/events, such >> as the logoff event, the system sends to all running processes, whenever a >> user logs off from a session. >> As you already have mentioned, the JVM is actually a process, which is by >> design not thought of running as a Service by itself. So whenever the JVM >> receives a logoff event from the system, it's default behavior is to shut >> itself down. >> >> When running as service, by default, the Wrapper catches this signal >> allowing the JVM to keep running even after the logoff signal (among some >> other signals) have been received. >> >> When running as console application, which is been done when running >> wrapper.exe -c, the default action is actually to forward the event to the >> JVM, which then will shut itself down. >> This behavior can be changed easily by setting the following property >> into your conf file: >> wrapper.ignore_user_logoffs=TRUE >> >> http://wrapper.tanukisoftware.com/doc/english/prop-ignore-user-logoffs.html >> >> I don't think that's the issue, but just in case, if the Wrapper wasn't >> able to load the native library, it will print out a warning, indicating >> the reason of the failure. >> Please make sure that the wrapper.java.library.path.<n> property is being >> set correctly to the path where the native library is located. >> But since you said, that the services actually keep running after a >> logoff, I assume that the JVM was already loading the native library >> successfully. >> >> >> Please let me know if you have any further questions. >> >> Best Regards and Good luck with your thesis! >> >> Christian Mueller >> Tanuki Software, Ltd. >> >> >> On Tue, Mar 27, 2012 at 7:00 PM, jeroen vranckx <jvr...@gm...>wrote: >> >>> Hi everybody, >>> >>> >>> >>> This is my first time for posting a question here, but I thought it >>> would be best to ask some help with people who are familiar with the java >>> service wrapper already. >>> >>> >>> >>> So maybe it’s best that I give you some information about why I’m asking >>> this question and why I need your help. >>> >>> So I’m a student from Belgium, and I’m currently doing my >>> thesis(graduation paper?). >>> >>> >>> >>> The company were I’m doing this asked me to revise and migrate an >>> existing servercluster infrastructure. I’ve been working the past 2 weeks >>> on checking out the possibilities to upgrade and improve the existing >>> structure, >>> >>> And I think I have given them some options on that side. >>> >>> >>> >>> Now I have come to the actual clustering. The servercluster is only used >>> to cluster java-applications and services. >>> >>> There are a number of generic applications that run on the cluster, >>> which are using the java service wrapper. >>> >>> >>> >>> Now; one of the problems that they are having, is that when an >>> administrator logs on to one of the servernodes, and logs off again, all >>> the generic applications restart. >>> >>> They were thinking that this problem was probably caused by the wrapper. >>> >>> >>> >>> After reading the documentation, I seem to have found some indications >>> that indeed point in this direction. >>> >>> Not saying that the wrapper itself is doing anything wrong, but I think >>> that it’s probably used in a wrong manner. >>> >>> >>> >>> *“The problem is that Java on its own can not be run as a service. Many >>> simple tools like the Windows "sc" command can be used to run Java as a >>> service, but the user doing something as simple as logging off of the >>> machine will cause Java to shutdown.“* >>> >>> * * >>> >>> *“Most Java applications die rather abruptly if the user presses CTRL-C, >>> logs out of Windows, etc. You can work around some of these issues with a >>> Shutdown Hook, but the Wrapper implements this by using a **native >>> library<http://wrapper.tanukisoftware.com/doc/english/prop-native-library.html> >>> ** to directly capture the system signals. This makes it possible to >>> have a Java application installed as a Windows Service without it being >>> stopped when a user logs out. “* >>> >>> * * >>> >>> * * >>> >>> Now, what I think is what happens: the generic applications aren’t >>> correctly set-up to run as a windows service(probably combination of >>> clustering resource and java service wrapper misconfiguration), >>> >>> which causes the JVM’s to stop when logging off. The cluster notices >>> that there is something wrong with the clustering resource(generic >>> application), and starts it back up. >>> >>> This caused them to think at the company that the resources restarted, >>> but I think this isn’t the case. It’s the JVM that stops, and the >>> clustering that steps in. >>> >>> >>> >>> Now, I’m wondering where I need to start looking to fix this problem. I >>> think the problem lies with the fact that the java-application isn’t >>> running as a windows service. >>> >>> I did already notice something with the command line parameters of the >>> generic resources. They are using the following commands to run the java >>> applications: >>> >>> X:\Foo\Bar\FooBAR\bin\wrapper.exe -c X:\ Foo \ Bar \ FooBAR >>> \conf\wrapper.conf >>> >>> >>> >>> If my first quick read of the documentation was correctly, that will let >>> it run as a console-application. Don’t know if this has anything to do with >>> it, just guessing. >>> >>> I’m probably going to re-read the whole documentation again, to get >>> myself more familiar with the java service wrapper. >>> >>> I’m not just looking for the answer, I really want to look into the >>> problem here. That’s why I’m looking for some input here, to get a point to >>> work from. >>> >>> My time is limited, so I need to work efficient(need to do management >>> and probably a whole lot of testing), so I thought it would be best to ask >>> for some help here. >>> >>> >>> >>> So is there someone who has some experience with clustering and java >>> service wrapper? Or somebody that has a hunch what the problem is? >>> >>> >>> >>> Your help will certainly be appreciated. >>> >>> I apologize for my bad English, and hoping to hear your ideas on this >>> one. >>> >>> >>> >>> Vranckx Jeroen >>> >>> >>> ------------------------------------------------------------------------------ >>> This SF email is sponsosred by: >>> Try Windows Azure free for 90 days Click Here >>> http://p.sf.net/sfu/sfd2d-msazure >>> _______________________________________________ >>> Wrapper-user mailing list >>> Wra...@li... >>> https://lists.sourceforge.net/lists/listinfo/wrapper-user >>> >>> >> >> >> ------------------------------------------------------------------------------ >> This SF email is sponsosred by: >> Try Windows Azure free for 90 days Click Here >> http://p.sf.net/sfu/sfd2d-msazure >> _______________________________________________ >> Wrapper-user mailing list >> Wra...@li... >> https://lists.sourceforge.net/lists/listinfo/wrapper-user >> >> > > > ------------------------------------------------------------------------------ > This SF email is sponsosred by: > Try Windows Azure free for 90 days Click Here > http://p.sf.net/sfu/sfd2d-msazure > _______________________________________________ > Wrapper-user mailing list > Wra...@li... > https://lists.sourceforge.net/lists/listinfo/wrapper-user > > |
|
From: jeroen v. <jvr...@gm...> - 2012-03-27 13:36:20
|
Thanks for the outstanding service Mr. Mueller, Your explanation makes perfect sense. Seems like I was thinking in the right direction. I went to check on the tips that you gave me, and was surprised that i couldn't find the wrapper.ignore_user_logoffs setting. Did a little resource on what version they are working with, and seems like they are working with a 3.2.1version. (So that explains the missing setting ^^). Went to check on the programmers also, and it seems that all applications are running as console applications, and not as services. This explains pretty much everything. As they weren't actually running as services but as console applications, and because they were using an outdated version that didn't have the wrapper.ignore_user_logoffs setting, it makes perfect sense that the JVM would shutdown. i need to clear a little misunderstanding though. The "so called" services restarted after a log-off. This is probably caused by the JVM shutting down like you said, because of the fact that they are running as console applications. The cluster sees that his resources went down, so he tries to bring them back online. I think he probably initiates new JVM's then. As it is a production environment, I can't recreate the scenario. It's a shame, but I think we have it pretty much figured out now, why it was going wrong ^^. Don't think there is a way to fix the issue in the currently running environment.(without having to convert everything to services, or upgrading to the new version of the wrapper). So I'm just gonna concentrate on the new environment. Now, for the new environment I'll need to make some decissions and if i understand correctly i have 2 options to avoid the log off issue: 1: running the application as a real service (that will ignore the logoff by default) 2: keep using the console application but use the option ignore_user_logoffs=TRUE (when using at least the 3.3.1 version(i'll be using the latest version of course ^^)) Is this correct, or are there other options? Maybe keep in mind, that we are using it in a clusterevironment. Thanks for your help in advance! Vranckx Jeroen On 27 March 2012 13:51, Christian Mueller < chr...@ta...> wrote: > Hello Vranckx, > > thank you for your mail. > > The native library of the Wrapper (wrapper.dll) is installing a signal > handler for the JVM, making it possible to intercept signals/events, such > as the logoff event, the system sends to all running processes, whenever a > user logs off from a session. > As you already have mentioned, the JVM is actually a process, which is by > design not thought of running as a Service by itself. So whenever the JVM > receives a logoff event from the system, it's default behavior is to shut > itself down. > > When running as service, by default, the Wrapper catches this signal > allowing the JVM to keep running even after the logoff signal (among some > other signals) have been received. > > When running as console application, which is been done when running > wrapper.exe -c, the default action is actually to forward the event to the > JVM, which then will shut itself down. > This behavior can be changed easily by setting the following property into > your conf file: > wrapper.ignore_user_logoffs=TRUE > http://wrapper.tanukisoftware.com/doc/english/prop-ignore-user-logoffs.html > > I don't think that's the issue, but just in case, if the Wrapper wasn't > able to load the native library, it will print out a warning, indicating > the reason of the failure. > Please make sure that the wrapper.java.library.path.<n> property is being > set correctly to the path where the native library is located. > But since you said, that the services actually keep running after a > logoff, I assume that the JVM was already loading the native library > successfully. > > > Please let me know if you have any further questions. > > Best Regards and Good luck with your thesis! > > Christian Mueller > Tanuki Software, Ltd. > > > On Tue, Mar 27, 2012 at 7:00 PM, jeroen vranckx <jvr...@gm...>wrote: > >> Hi everybody, >> >> >> >> This is my first time for posting a question here, but I thought it would >> be best to ask some help with people who are familiar with the java service >> wrapper already. >> >> >> >> So maybe it’s best that I give you some information about why I’m asking >> this question and why I need your help. >> >> So I’m a student from Belgium, and I’m currently doing my >> thesis(graduation paper?). >> >> >> >> The company were I’m doing this asked me to revise and migrate an >> existing servercluster infrastructure. I’ve been working the past 2 weeks >> on checking out the possibilities to upgrade and improve the existing >> structure, >> >> And I think I have given them some options on that side. >> >> >> >> Now I have come to the actual clustering. The servercluster is only used >> to cluster java-applications and services. >> >> There are a number of generic applications that run on the cluster, which >> are using the java service wrapper. >> >> >> >> Now; one of the problems that they are having, is that when an >> administrator logs on to one of the servernodes, and logs off again, all >> the generic applications restart. >> >> They were thinking that this problem was probably caused by the wrapper. >> >> >> >> After reading the documentation, I seem to have found some indications >> that indeed point in this direction. >> >> Not saying that the wrapper itself is doing anything wrong, but I think >> that it’s probably used in a wrong manner. >> >> >> >> *“The problem is that Java on its own can not be run as a service. Many >> simple tools like the Windows "sc" command can be used to run Java as a >> service, but the user doing something as simple as logging off of the >> machine will cause Java to shutdown.“* >> >> * * >> >> *“Most Java applications die rather abruptly if the user presses CTRL-C, >> logs out of Windows, etc. You can work around some of these issues with a >> Shutdown Hook, but the Wrapper implements this by using a **native >> library<http://wrapper.tanukisoftware.com/doc/english/prop-native-library.html> >> ** to directly capture the system signals. This makes it possible to >> have a Java application installed as a Windows Service without it being >> stopped when a user logs out. “* >> >> * * >> >> * * >> >> Now, what I think is what happens: the generic applications aren’t >> correctly set-up to run as a windows service(probably combination of >> clustering resource and java service wrapper misconfiguration), >> >> which causes the JVM’s to stop when logging off. The cluster notices that >> there is something wrong with the clustering resource(generic application), >> and starts it back up. >> >> This caused them to think at the company that the resources restarted, >> but I think this isn’t the case. It’s the JVM that stops, and the >> clustering that steps in. >> >> >> >> Now, I’m wondering where I need to start looking to fix this problem. I >> think the problem lies with the fact that the java-application isn’t >> running as a windows service. >> >> I did already notice something with the command line parameters of the >> generic resources. They are using the following commands to run the java >> applications: >> >> X:\Foo\Bar\FooBAR\bin\wrapper.exe -c X:\ Foo \ Bar \ FooBAR >> \conf\wrapper.conf >> >> >> >> If my first quick read of the documentation was correctly, that will let >> it run as a console-application. Don’t know if this has anything to do with >> it, just guessing. >> >> I’m probably going to re-read the whole documentation again, to get >> myself more familiar with the java service wrapper. >> >> I’m not just looking for the answer, I really want to look into the >> problem here. That’s why I’m looking for some input here, to get a point to >> work from. >> >> My time is limited, so I need to work efficient(need to do management and >> probably a whole lot of testing), so I thought it would be best to ask for >> some help here. >> >> >> >> So is there someone who has some experience with clustering and java >> service wrapper? Or somebody that has a hunch what the problem is? >> >> >> >> Your help will certainly be appreciated. >> >> I apologize for my bad English, and hoping to hear your ideas on this one. >> >> >> >> Vranckx Jeroen >> >> >> ------------------------------------------------------------------------------ >> This SF email is sponsosred by: >> Try Windows Azure free for 90 days Click Here >> http://p.sf.net/sfu/sfd2d-msazure >> _______________________________________________ >> Wrapper-user mailing list >> Wra...@li... >> https://lists.sourceforge.net/lists/listinfo/wrapper-user >> >> > > > ------------------------------------------------------------------------------ > This SF email is sponsosred by: > Try Windows Azure free for 90 days Click Here > http://p.sf.net/sfu/sfd2d-msazure > _______________________________________________ > Wrapper-user mailing list > Wra...@li... > https://lists.sourceforge.net/lists/listinfo/wrapper-user > > |
|
From: Christian M. <chr...@ta...> - 2012-03-27 11:57:56
|
Hello Vranckx, thank you for your mail. The native library of the Wrapper (wrapper.dll) is installing a signal handler for the JVM, making it possible to intercept signals/events, such as the logoff event, the system sends to all running processes, whenever a user logs off from a session. As you already have mentioned, the JVM is actually a process, which is by design not thought of running as a Service by itself. So whenever the JVM receives a logoff event from the system, it's default behavior is to shut itself down. When running as service, by default, the Wrapper catches this signal allowing the JVM to keep running even after the logoff signal (among some other signals) have been received. When running as console application, which is been done when running wrapper.exe -c, the default action is actually to forward the event to the JVM, which then will shut itself down. This behavior can be changed easily by setting the following property into your conf file: wrapper.ignore_user_logoffs=TRUE http://wrapper.tanukisoftware.com/doc/english/prop-ignore-user-logoffs.html I don't think that's the issue, but just in case, if the Wrapper wasn't able to load the native library, it will print out a warning, indicating the reason of the failure. Please make sure that the wrapper.java.library.path.<n> property is being set correctly to the path where the native library is located. But since you said, that the services actually keep running after a logoff, I assume that the JVM was already loading the native library successfully. Please let me know if you have any further questions. Best Regards and Good luck with your thesis! Christian Mueller Tanuki Software, Ltd. On Tue, Mar 27, 2012 at 7:00 PM, jeroen vranckx <jvr...@gm...>wrote: > Hi everybody, > > > > This is my first time for posting a question here, but I thought it would > be best to ask some help with people who are familiar with the java service > wrapper already. > > > > So maybe it’s best that I give you some information about why I’m asking > this question and why I need your help. > > So I’m a student from Belgium, and I’m currently doing my > thesis(graduation paper?). > > > > The company were I’m doing this asked me to revise and migrate an existing > servercluster infrastructure. I’ve been working the past 2 weeks on > checking out the possibilities to upgrade and improve the existing > structure, > > And I think I have given them some options on that side. > > > > Now I have come to the actual clustering. The servercluster is only used > to cluster java-applications and services. > > There are a number of generic applications that run on the cluster, which > are using the java service wrapper. > > > > Now; one of the problems that they are having, is that when an > administrator logs on to one of the servernodes, and logs off again, all > the generic applications restart. > > They were thinking that this problem was probably caused by the wrapper. > > > > After reading the documentation, I seem to have found some indications > that indeed point in this direction. > > Not saying that the wrapper itself is doing anything wrong, but I think > that it’s probably used in a wrong manner. > > > > *“The problem is that Java on its own can not be run as a service. Many > simple tools like the Windows "sc" command can be used to run Java as a > service, but the user doing something as simple as logging off of the > machine will cause Java to shutdown.“* > > * * > > *“Most Java applications die rather abruptly if the user presses CTRL-C, > logs out of Windows, etc. You can work around some of these issues with a > Shutdown Hook, but the Wrapper implements this by using a **native library<http://wrapper.tanukisoftware.com/doc/english/prop-native-library.html> > ** to directly capture the system signals. This makes it possible to have > a Java application installed as a Windows Service without it being stopped > when a user logs out. “* > > * * > > * * > > Now, what I think is what happens: the generic applications aren’t > correctly set-up to run as a windows service(probably combination of > clustering resource and java service wrapper misconfiguration), > > which causes the JVM’s to stop when logging off. The cluster notices that > there is something wrong with the clustering resource(generic application), > and starts it back up. > > This caused them to think at the company that the resources restarted, but > I think this isn’t the case. It’s the JVM that stops, and the clustering > that steps in. > > > > Now, I’m wondering where I need to start looking to fix this problem. I > think the problem lies with the fact that the java-application isn’t > running as a windows service. > > I did already notice something with the command line parameters of the > generic resources. They are using the following commands to run the java > applications: > > X:\Foo\Bar\FooBAR\bin\wrapper.exe -c X:\ Foo \ Bar \ FooBAR > \conf\wrapper.conf > > > > If my first quick read of the documentation was correctly, that will let > it run as a console-application. Don’t know if this has anything to do with > it, just guessing. > > I’m probably going to re-read the whole documentation again, to get myself > more familiar with the java service wrapper. > > I’m not just looking for the answer, I really want to look into the > problem here. That’s why I’m looking for some input here, to get a point to > work from. > > My time is limited, so I need to work efficient(need to do management and > probably a whole lot of testing), so I thought it would be best to ask for > some help here. > > > > So is there someone who has some experience with clustering and java > service wrapper? Or somebody that has a hunch what the problem is? > > > > Your help will certainly be appreciated. > > I apologize for my bad English, and hoping to hear your ideas on this one. > > > > Vranckx Jeroen > > > ------------------------------------------------------------------------------ > This SF email is sponsosred by: > Try Windows Azure free for 90 days Click Here > http://p.sf.net/sfu/sfd2d-msazure > _______________________________________________ > Wrapper-user mailing list > Wra...@li... > https://lists.sourceforge.net/lists/listinfo/wrapper-user > > |
|
From: jeroen v. <jvr...@gm...> - 2012-03-27 10:00:14
|
Hi everybody, This is my first time for posting a question here, but I thought it would be best to ask some help with people who are familiar with the java service wrapper already. So maybe it’s best that I give you some information about why I’m asking this question and why I need your help. So I’m a student from Belgium, and I’m currently doing my thesis(graduation paper?). The company were I’m doing this asked me to revise and migrate an existing servercluster infrastructure. I’ve been working the past 2 weeks on checking out the possibilities to upgrade and improve the existing structure, And I think I have given them some options on that side. Now I have come to the actual clustering. The servercluster is only used to cluster java-applications and services. There are a number of generic applications that run on the cluster, which are using the java service wrapper. Now; one of the problems that they are having, is that when an administrator logs on to one of the servernodes, and logs off again, all the generic applications restart. They were thinking that this problem was probably caused by the wrapper. After reading the documentation, I seem to have found some indications that indeed point in this direction. Not saying that the wrapper itself is doing anything wrong, but I think that it’s probably used in a wrong manner. *“The problem is that Java on its own can not be run as a service. Many simple tools like the Windows "sc" command can be used to run Java as a service, but the user doing something as simple as logging off of the machine will cause Java to shutdown.“* * * *“Most Java applications die rather abruptly if the user presses CTRL-C, logs out of Windows, etc. You can work around some of these issues with a Shutdown Hook, but the Wrapper implements this by using a **native library<http://wrapper.tanukisoftware.com/doc/english/prop-native-library.html> ** to directly capture the system signals. This makes it possible to have a Java application installed as a Windows Service without it being stopped when a user logs out. “* * * * * Now, what I think is what happens: the generic applications aren’t correctly set-up to run as a windows service(probably combination of clustering resource and java service wrapper misconfiguration), which causes the JVM’s to stop when logging off. The cluster notices that there is something wrong with the clustering resource(generic application), and starts it back up. This caused them to think at the company that the resources restarted, but I think this isn’t the case. It’s the JVM that stops, and the clustering that steps in. Now, I’m wondering where I need to start looking to fix this problem. I think the problem lies with the fact that the java-application isn’t running as a windows service. I did already notice something with the command line parameters of the generic resources. They are using the following commands to run the java applications: X:\Foo\Bar\FooBAR\bin\wrapper.exe -c X:\ Foo \ Bar \ FooBAR \conf\wrapper.conf If my first quick read of the documentation was correctly, that will let it run as a console-application. Don’t know if this has anything to do with it, just guessing. I’m probably going to re-read the whole documentation again, to get myself more familiar with the java service wrapper. I’m not just looking for the answer, I really want to look into the problem here. That’s why I’m looking for some input here, to get a point to work from. My time is limited, so I need to work efficient(need to do management and probably a whole lot of testing), so I thought it would be best to ask for some help here. So is there someone who has some experience with clustering and java service wrapper? Or somebody that has a hunch what the problem is? Your help will certainly be appreciated. I apologize for my bad English, and hoping to hear your ideas on this one. Vranckx Jeroen |
|
From: Divya H. <div...@gm...> - 2012-03-06 13:49:40
|
Hi Mueller, Thanks for the reply. I will turn on the debug level and see what is going around.I will let you know my observations then. Thanks, Divya Christian Mueller-13 wrote: > > Hello Divya, > > how is your script starting/stopping the processes exactly? > > The wrapper-script whenever called to start an instance, checks for the > pid-file, which contains the pid of the Wrapper process. > If the pid from the file matches with the currently running processes, > then > it won't start the Wrapper, since it assumes the process is already > running. > The warning "Removed stale pid file", means that the pid in the pid file > doesn't match. So the script removes the file and starts a new instance. > The Wrapper removes the pid file by itself usually during exiting, however > if the Wrapper is forcibly killed (like a kill -9), then it won't have a > chance to remove the file. > So when you run the start command after the reboot and see the stale pid > warning, it means probably, that the Wrapper was forcibly killed during > shutdown and couldn't remove the pid file. > > could you also please turn on debug log level (wrapper.debug=TRUE) and > re-run? > > Best Regards, > > Christian Mueller > Tanuki Software, Ltd. > > On Mon, Mar 5, 2012 at 6:52 PM, Divya Habin > <div...@gm...>wrote: > >> >> I have few services that are running in a Linux machines and I am using >> the >> 3.2.3 version of http://old.nabble.com/file/p33441896/Poller.conf >> Poller.conf Java Service Wrapper. Just before the sever reboot, the >> services >> are stopped using a stopall services command(that has stop command for >> each >> service).While Few services are giving out the following warning :: >> 'WARN | wrapper | 2012/03/04 03:00:42 | JVM process was still running >> after receiving a SIGCHLD signal. >> STATUS | wrapper | 2012/03/04 03:00:42 | TERM trapped. Shutting down.' >> >> After the sever reboot, a startall application script(that has start >> command >> for each service) is run.It starts all the applications except those that >> gave the above warning. >> >> But when I try starting the service again using the start command of that >> particular service, it starts with the message '"Removed stale pid file:' >> . >> >> I want to understand here two things: >> 1.Why the process has become stale. >> 2.Why the start all application command that had the start command didn >> start it after removing the stale id. >> >> I am attaching the configuration file. >> >> Thanks in advance. >> >> >> -- >> View this message in context: >> http://old.nabble.com/Service-started-with-Java-Service-wrapper-becoming-stale-during-server-reboot-tp33441896p33441896.html >> Sent from the Java Service Wrapper mailing list archive at Nabble.com. >> >> >> >> ------------------------------------------------------------------------------ >> Try before you buy = See our experts in action! >> The most comprehensive online learning library for Microsoft developers >> is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, >> Metro Style Apps, more. Free future releases when you subscribe now! >> http://p.sf.net/sfu/learndevnow-dev2 >> _______________________________________________ >> Wrapper-user mailing list >> Wra...@li... >> https://lists.sourceforge.net/lists/listinfo/wrapper-user >> > > ------------------------------------------------------------------------------ > Keep Your Developer Skills Current with LearnDevNow! > The most comprehensive online learning library for Microsoft developers > is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, > Metro Style Apps, more. Free future releases when you subscribe now! > http://p.sf.net/sfu/learndevnow-d2d > _______________________________________________ > Wrapper-user mailing list > Wra...@li... > https://lists.sourceforge.net/lists/listinfo/wrapper-user > > -- View this message in context: http://old.nabble.com/Service-started-with-Java-Service-wrapper-becoming-stale-during-server-reboot-tp33442324p33451001.html Sent from the Java Service Wrapper mailing list archive at Nabble.com. |
|
From: Christian M. <chr...@ta...> - 2012-03-06 03:13:40
|
Hello Divya, how is your script starting/stopping the processes exactly? The wrapper-script whenever called to start an instance, checks for the pid-file, which contains the pid of the Wrapper process. If the pid from the file matches with the currently running processes, then it won't start the Wrapper, since it assumes the process is already running. The warning "Removed stale pid file", means that the pid in the pid file doesn't match. So the script removes the file and starts a new instance. The Wrapper removes the pid file by itself usually during exiting, however if the Wrapper is forcibly killed (like a kill -9), then it won't have a chance to remove the file. So when you run the start command after the reboot and see the stale pid warning, it means probably, that the Wrapper was forcibly killed during shutdown and couldn't remove the pid file. could you also please turn on debug log level (wrapper.debug=TRUE) and re-run? Best Regards, Christian Mueller Tanuki Software, Ltd. On Mon, Mar 5, 2012 at 6:52 PM, Divya Habin <div...@gm...>wrote: > > I have few services that are running in a Linux machines and I am using the > 3.2.3 version of http://old.nabble.com/file/p33441896/Poller.conf > Poller.conf Java Service Wrapper. Just before the sever reboot, the > services > are stopped using a stopall services command(that has stop command for each > service).While Few services are giving out the following warning :: > 'WARN | wrapper | 2012/03/04 03:00:42 | JVM process was still running > after receiving a SIGCHLD signal. > STATUS | wrapper | 2012/03/04 03:00:42 | TERM trapped. Shutting down.' > > After the sever reboot, a startall application script(that has start > command > for each service) is run.It starts all the applications except those that > gave the above warning. > > But when I try starting the service again using the start command of that > particular service, it starts with the message '"Removed stale pid file:' . > > I want to understand here two things: > 1.Why the process has become stale. > 2.Why the start all application command that had the start command didn > start it after removing the stale id. > > I am attaching the configuration file. > > Thanks in advance. > > > -- > View this message in context: > http://old.nabble.com/Service-started-with-Java-Service-wrapper-becoming-stale-during-server-reboot-tp33441896p33441896.html > Sent from the Java Service Wrapper mailing list archive at Nabble.com. > > > > ------------------------------------------------------------------------------ > Try before you buy = See our experts in action! > The most comprehensive online learning library for Microsoft developers > is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, > Metro Style Apps, more. Free future releases when you subscribe now! > http://p.sf.net/sfu/learndevnow-dev2 > _______________________________________________ > Wrapper-user mailing list > Wra...@li... > https://lists.sourceforge.net/lists/listinfo/wrapper-user > |
|
From: Divya H. <div...@gm...> - 2012-03-05 09:52:39
|
I have few services that are running in a Linux machines and I am using the 3.2.3 version of http://old.nabble.com/file/p33441896/Poller.conf Poller.conf Java Service Wrapper. Just before the sever reboot, the services are stopped using a stopall services command(that has stop command for each service).While Few services are giving out the following warning :: 'WARN | wrapper | 2012/03/04 03:00:42 | JVM process was still running after receiving a SIGCHLD signal. STATUS | wrapper | 2012/03/04 03:00:42 | TERM trapped. Shutting down.' After the sever reboot, a startall application script(that has start command for each service) is run.It starts all the applications except those that gave the above warning. But when I try starting the service again using the start command of that particular service, it starts with the message '"Removed stale pid file:' . I want to understand here two things: 1.Why the process has become stale. 2.Why the start all application command that had the start command didn start it after removing the stale id. I am attaching the configuration file. Thanks in advance. -- View this message in context: http://old.nabble.com/Service-started-with-Java-Service-wrapper-becoming-stale-during-server-reboot-tp33441896p33441896.html Sent from the Java Service Wrapper mailing list archive at Nabble.com. |
|
From: Mattias O. <mat...@in...> - 2012-02-20 14:22:16
|
Add -s /bin/sh to the runuser or su command (row 577 and 579). Example patch file attached. |
|
From: Jens R. <jen...@li...> - 2012-02-20 13:25:52
|
Hi I have an account with /sbin/nolgin as the shell. If I use this account as the "RUN_AS_USER" I get this error: This account is currently not available. How do I configure a secure service account for the wrapper, or is this a bug? Similar bug: https://bugzilla.redhat.com/show_bug.cgi?id=678671 Regards,Jens |
|
From: Leif M. <lei...@ta...> - 2012-02-14 07:40:26
|
Hi all, I would like to announce the release of 3.5.14 of the Java Service Wrapper. This version is primarily a bug fix release: *) We fixed a potential crash that some users installing a service to run as a specific account had reported. *) Make several important improvements to both the UNIX and Windows scripts. and a few other minor issues. Please see the release notes for a full list of changes: http://wrapper.tanukisoftware.org/doc/english/release-notes.html#3.5.14 The full release is available on the Wrapper site: http://wrapper.tanukisoftware.com/doc/english/download.jsp In addition to our internal testing, when release new versions, they are released as "Unstable" for a period of approximately 2 weeks. If after that time we have not received any reports of critical problems the version will be upgraded to "Stable" on the site. This makes it possible for you to decide whether you would like to try out the latest and greatest version or stick with a safer known version for deployment with your applications. As always, please let us know how we can continue to improve the Java Service Wrapper to meet your needs. Sincerely, Leif Mortenson Tanuki Software, Ltd. http://www.tanukisoftware.com |
|
From: Fábio B. de O. <gtc...@cf...> - 2012-02-08 19:44:15
|
Leif, Sorry for my previous unnecessary post, I tried here, now with your suggested configuration, and worked perfectly! Thank you for your time! 2012/2/8 Fábio Braga de Oliveira <gtc...@cf...> > This is great, probably this is enough to resolve my problem, by I would > like to use the Recovery function, configurable in the windows service tab, > to give to the customer IT team a way to configure the > service behavior without code changes. > > Is it possible to configure the Java Service Wrapper to fulfill this > requirement? > > > On Wed, Feb 8, 2012 at 4:27 PM, Leif Mortenson < > lei...@ta...> wrote: > >> Fabio, >> By default, the Wrapper dos not view and exit -1 as a failure. That >> is a valid way of the JVM exiting. >> >> If you wish to restart or take some other action based on a particular >> exit code, you can use the wrapper.on_exit.N properties: >> http://wrapper.tanukisoftware.com/doc/english/prop-on-exit-n.html >> >> For example: >> wrapper.on_exit.default=RESTART >> wrapper.on_exit.0=SHUTDOWN >> >> That will restart for any exit code other than 0. >> >> Cheers, >> Leif >> >> 2012/2/9 Fábio Braga de Oliveira <gtc...@cf...>: >> > Hello Leif, thank you for your fast response. >> > >> > I´m trying to emulate a application failure, I´m using the following >> class: >> > >> > import org.apache.log4j.Logger; >> > import org.tanukisoftware.wrapper.WrapperListener; >> > import org.tanukisoftware.wrapper.WrapperManager; >> > >> > public class Runner implements WrapperListener { >> > >> > private static Logger LOG = Logger.getLogger(Runner.class); >> > >> > private Runner runner; >> > >> > /** >> > * @param args >> > * @return >> > * @throws InterruptedException >> > * @throws Exception >> > */ >> > public Integer start(String[] args) { >> > if (runner == null) { >> > runner = this; >> > } >> > runner.start(); >> > >> > return null; >> > >> > } >> > >> > public static void main(String args[]) throws InterruptedException { >> > WrapperManager.start(new Runner(), args); >> > } >> > >> > public void start() { >> > LOG.info("Starting a Java-Window Service test"); >> > >> > Runnable r = new Runnable() { >> > >> > @Override >> > public void run() { >> > try { >> > Thread.sleep(10000); >> > >> > LOG.warn("The app will emulate a failure in 50s"); >> > >> > Thread.sleep(30000); >> > LOG.warn("The app will emulate a failure in 20s"); >> > >> > Thread.sleep(10000); >> > LOG.warn("The app will emulate a failure in 10s"); >> > >> > Thread.sleep(10000); >> > LOG.fatal("Emulating a app failure!"); >> > >> > System.exit(-1); >> > } catch (InterruptedException e) { >> > throw new RuntimeException(e); >> > } >> > } >> > }; >> > new Thread(r).start(); >> > } >> > >> > @Override >> > public void controlEvent(int arg0) { >> > // TODO Auto-generated method stub >> > >> > } >> > >> > @Override >> > public int stop(int exitCode) { >> > LOG.info("App exit code: " + exitCode); >> > return exitCode; >> > } >> > >> > } >> > >> > >> > How you can see, I´m using the WrapperListener, I started a thread which >> > count down until exit with a System.exit(-1). The classpath contain the >> > wrapper.jar, the log4j-1.2.16.jar and my app jar, I´m using the >> > NTEventLogAppender, and I can see the log messages being writed to the >> Event >> > Log, but the service after 60s die and don´t come back after 1min as >> > configured. >> > >> > >> > This information is useful? >> > >> > >> > On Wed, Feb 8, 2012 at 3:42 PM, Leif Mortenson >> > <lei...@ta...> wrote: >> >> >> >> Fabio, >> >> Thank you for the configuration file. It looks like you have it set >> >> up correctly. There are a couple things to keep in mind. >> >> >> >> 1) There are two components which are being monitored. >> >> >> >> a) The first is the JVM itself. Many JVM problems can be monitored, >> >> detected, and recovered by the Wrapper process. In these cases, the >> >> wrapper.ntservice.recovery.* properties are not used. >> >> >> >> b) The second is if the Wrapper process itself crashes. This is rare, >> >> but if it did happen, then the Windows Service Manager can make use of >> >> the settings in the wrapper.ntservice.recovery.* properties to restart >> >> the Wrapper process as a service and thus make sure your service stays >> >> up and running. >> >> >> >> 2) The wrapper.ntservice.recovery.* properties are available in the >> >> Standard and Professional editions. >> >> wrapper.tanukisoftware.com/doc/english/prop-ntservice-recovery.html >> >> >> >> How are you running your tests? Is it a test of the JVM crashing or >> >> the Wrapper? >> >> >> >> Cheers, >> >> Leif >> >> >> >> 2012/2/9 Fábio Braga de Oliveira <gtc...@cf...>: >> >> > Hello list! >> >> > >> >> > I´m trying to put my java application to run as a Windows Service, >> and I >> >> > would like to make this service very fail safe. For this, I´m >> evaluation >> >> > the >> >> > Java Service Wrapper, and trying to configure the Windows to restart >> the >> >> > service if it fails (using the recovery tab in the service >> >> > configurations), >> >> > but without success. >> >> > >> >> > My question is: What are the requirements/parameters to achieve this >> >> > requirement? I already tryied the integration methods 1 and 3, but >> for >> >> > now I >> >> > don´t now what´s the right return code to force a automatic restart. >> >> > >> >> > My wrapper.conf is attached. >> >> > >> >> > Thank you in advance for any help! >> >> >> ------------------------------------------------------------------------------ >> Keep Your Developer Skills Current with LearnDevNow! >> The most comprehensive online learning library for Microsoft developers >> is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, >> Metro Style Apps, more. Free future releases when you subscribe now! >> http://p.sf.net/sfu/learndevnow-d2d >> _______________________________________________ >> Wrapper-user mailing list >> Wra...@li... >> https://lists.sourceforge.net/lists/listinfo/wrapper-user >> > > > > -- > *CFlex - Empower your Decisions* > Tel: (+55 19) 3251-5211 > Rua Barão de Paranapanema, 401A > Campinas/SP - Brasil > www.cflex.com.br > -- *CFlex - Empower your Decisions* Tel: (+55 19) 3251-5211 Rua Barão de Paranapanema, 401A Campinas/SP - Brasil www.cflex.com.br |
|
From: Fábio B. de O. <gtc...@cf...> - 2012-02-08 18:55:47
|
This is great, probably this is enough to resolve my problem, by I would like to use the Recovery function, configurable in the windows service tab, to give to the customer IT team a way to configure the service behavior without code changes. Is it possible to configure the Java Service Wrapper to fulfill this requirement? On Wed, Feb 8, 2012 at 4:27 PM, Leif Mortenson < lei...@ta...> wrote: > Fabio, > By default, the Wrapper dos not view and exit -1 as a failure. That > is a valid way of the JVM exiting. > > If you wish to restart or take some other action based on a particular > exit code, you can use the wrapper.on_exit.N properties: > http://wrapper.tanukisoftware.com/doc/english/prop-on-exit-n.html > > For example: > wrapper.on_exit.default=RESTART > wrapper.on_exit.0=SHUTDOWN > > That will restart for any exit code other than 0. > > Cheers, > Leif > > 2012/2/9 Fábio Braga de Oliveira <gtc...@cf...>: > > Hello Leif, thank you for your fast response. > > > > I´m trying to emulate a application failure, I´m using the following > class: > > > > import org.apache.log4j.Logger; > > import org.tanukisoftware.wrapper.WrapperListener; > > import org.tanukisoftware.wrapper.WrapperManager; > > > > public class Runner implements WrapperListener { > > > > private static Logger LOG = Logger.getLogger(Runner.class); > > > > private Runner runner; > > > > /** > > * @param args > > * @return > > * @throws InterruptedException > > * @throws Exception > > */ > > public Integer start(String[] args) { > > if (runner == null) { > > runner = this; > > } > > runner.start(); > > > > return null; > > > > } > > > > public static void main(String args[]) throws InterruptedException { > > WrapperManager.start(new Runner(), args); > > } > > > > public void start() { > > LOG.info("Starting a Java-Window Service test"); > > > > Runnable r = new Runnable() { > > > > @Override > > public void run() { > > try { > > Thread.sleep(10000); > > > > LOG.warn("The app will emulate a failure in 50s"); > > > > Thread.sleep(30000); > > LOG.warn("The app will emulate a failure in 20s"); > > > > Thread.sleep(10000); > > LOG.warn("The app will emulate a failure in 10s"); > > > > Thread.sleep(10000); > > LOG.fatal("Emulating a app failure!"); > > > > System.exit(-1); > > } catch (InterruptedException e) { > > throw new RuntimeException(e); > > } > > } > > }; > > new Thread(r).start(); > > } > > > > @Override > > public void controlEvent(int arg0) { > > // TODO Auto-generated method stub > > > > } > > > > @Override > > public int stop(int exitCode) { > > LOG.info("App exit code: " + exitCode); > > return exitCode; > > } > > > > } > > > > > > How you can see, I´m using the WrapperListener, I started a thread which > > count down until exit with a System.exit(-1). The classpath contain the > > wrapper.jar, the log4j-1.2.16.jar and my app jar, I´m using the > > NTEventLogAppender, and I can see the log messages being writed to the > Event > > Log, but the service after 60s die and don´t come back after 1min as > > configured. > > > > > > This information is useful? > > > > > > On Wed, Feb 8, 2012 at 3:42 PM, Leif Mortenson > > <lei...@ta...> wrote: > >> > >> Fabio, > >> Thank you for the configuration file. It looks like you have it set > >> up correctly. There are a couple things to keep in mind. > >> > >> 1) There are two components which are being monitored. > >> > >> a) The first is the JVM itself. Many JVM problems can be monitored, > >> detected, and recovered by the Wrapper process. In these cases, the > >> wrapper.ntservice.recovery.* properties are not used. > >> > >> b) The second is if the Wrapper process itself crashes. This is rare, > >> but if it did happen, then the Windows Service Manager can make use of > >> the settings in the wrapper.ntservice.recovery.* properties to restart > >> the Wrapper process as a service and thus make sure your service stays > >> up and running. > >> > >> 2) The wrapper.ntservice.recovery.* properties are available in the > >> Standard and Professional editions. > >> wrapper.tanukisoftware.com/doc/english/prop-ntservice-recovery.html > >> > >> How are you running your tests? Is it a test of the JVM crashing or > >> the Wrapper? > >> > >> Cheers, > >> Leif > >> > >> 2012/2/9 Fábio Braga de Oliveira <gtc...@cf...>: > >> > Hello list! > >> > > >> > I´m trying to put my java application to run as a Windows Service, > and I > >> > would like to make this service very fail safe. For this, I´m > evaluation > >> > the > >> > Java Service Wrapper, and trying to configure the Windows to restart > the > >> > service if it fails (using the recovery tab in the service > >> > configurations), > >> > but without success. > >> > > >> > My question is: What are the requirements/parameters to achieve this > >> > requirement? I already tryied the integration methods 1 and 3, but for > >> > now I > >> > don´t now what´s the right return code to force a automatic restart. > >> > > >> > My wrapper.conf is attached. > >> > > >> > Thank you in advance for any help! > > > ------------------------------------------------------------------------------ > Keep Your Developer Skills Current with LearnDevNow! > The most comprehensive online learning library for Microsoft developers > is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, > Metro Style Apps, more. Free future releases when you subscribe now! > http://p.sf.net/sfu/learndevnow-d2d > _______________________________________________ > Wrapper-user mailing list > Wra...@li... > https://lists.sourceforge.net/lists/listinfo/wrapper-user > -- *CFlex - Empower your Decisions* Tel: (+55 19) 3251-5211 Rua Barão de Paranapanema, 401A Campinas/SP - Brasil www.cflex.com.br |
|
From: Leif M. <lei...@ta...> - 2012-02-08 18:49:24
|
Fabio, By default, the Wrapper dos not view and exit -1 as a failure. That is a valid way of the JVM exiting. If you wish to restart or take some other action based on a particular exit code, you can use the wrapper.on_exit.N properties: http://wrapper.tanukisoftware.com/doc/english/prop-on-exit-n.html For example: wrapper.on_exit.default=RESTART wrapper.on_exit.0=SHUTDOWN That will restart for any exit code other than 0. Cheers, Leif 2012/2/9 Fábio Braga de Oliveira <gtc...@cf...>: > Hello Leif, thank you for your fast response. > > I´m trying to emulate a application failure, I´m using the following class: > > import org.apache.log4j.Logger; > import org.tanukisoftware.wrapper.WrapperListener; > import org.tanukisoftware.wrapper.WrapperManager; > > public class Runner implements WrapperListener { > > private static Logger LOG = Logger.getLogger(Runner.class); > > private Runner runner; > > /** > * @param args > * @return > * @throws InterruptedException > * @throws Exception > */ > public Integer start(String[] args) { > if (runner == null) { > runner = this; > } > runner.start(); > > return null; > > } > > public static void main(String args[]) throws InterruptedException { > WrapperManager.start(new Runner(), args); > } > > public void start() { > LOG.info("Starting a Java-Window Service test"); > > Runnable r = new Runnable() { > > @Override > public void run() { > try { > Thread.sleep(10000); > > LOG.warn("The app will emulate a failure in 50s"); > > Thread.sleep(30000); > LOG.warn("The app will emulate a failure in 20s"); > > Thread.sleep(10000); > LOG.warn("The app will emulate a failure in 10s"); > > Thread.sleep(10000); > LOG.fatal("Emulating a app failure!"); > > System.exit(-1); > } catch (InterruptedException e) { > throw new RuntimeException(e); > } > } > }; > new Thread(r).start(); > } > > @Override > public void controlEvent(int arg0) { > // TODO Auto-generated method stub > > } > > @Override > public int stop(int exitCode) { > LOG.info("App exit code: " + exitCode); > return exitCode; > } > > } > > > How you can see, I´m using the WrapperListener, I started a thread which > count down until exit with a System.exit(-1). The classpath contain the > wrapper.jar, the log4j-1.2.16.jar and my app jar, I´m using the > NTEventLogAppender, and I can see the log messages being writed to the Event > Log, but the service after 60s die and don´t come back after 1min as > configured. > > > This information is useful? > > > On Wed, Feb 8, 2012 at 3:42 PM, Leif Mortenson > <lei...@ta...> wrote: >> >> Fabio, >> Thank you for the configuration file. It looks like you have it set >> up correctly. There are a couple things to keep in mind. >> >> 1) There are two components which are being monitored. >> >> a) The first is the JVM itself. Many JVM problems can be monitored, >> detected, and recovered by the Wrapper process. In these cases, the >> wrapper.ntservice.recovery.* properties are not used. >> >> b) The second is if the Wrapper process itself crashes. This is rare, >> but if it did happen, then the Windows Service Manager can make use of >> the settings in the wrapper.ntservice.recovery.* properties to restart >> the Wrapper process as a service and thus make sure your service stays >> up and running. >> >> 2) The wrapper.ntservice.recovery.* properties are available in the >> Standard and Professional editions. >> wrapper.tanukisoftware.com/doc/english/prop-ntservice-recovery.html >> >> How are you running your tests? Is it a test of the JVM crashing or >> the Wrapper? >> >> Cheers, >> Leif >> >> 2012/2/9 Fábio Braga de Oliveira <gtc...@cf...>: >> > Hello list! >> > >> > I´m trying to put my java application to run as a Windows Service, and I >> > would like to make this service very fail safe. For this, I´m evaluation >> > the >> > Java Service Wrapper, and trying to configure the Windows to restart the >> > service if it fails (using the recovery tab in the service >> > configurations), >> > but without success. >> > >> > My question is: What are the requirements/parameters to achieve this >> > requirement? I already tryied the integration methods 1 and 3, but for >> > now I >> > don´t now what´s the right return code to force a automatic restart. >> > >> > My wrapper.conf is attached. >> > >> > Thank you in advance for any help! |
|
From: Fábio B. de O. <gtc...@cf...> - 2012-02-08 18:18:37
|
Hello Leif, thank you for your fast response.
I´m trying to emulate a application failure, I´m using the following class:
import org.apache.log4j.Logger;
import org.tanukisoftware.wrapper.WrapperListener;
import org.tanukisoftware.wrapper.WrapperManager;
public class Runner implements WrapperListener {
private static Logger LOG = Logger.getLogger(Runner.class);
private Runner runner;
/**
* @param args
* @return
* @throws InterruptedException
* @throws Exception
*/
public Integer start(String[] args) {
if (runner == null) {
runner = this;
}
runner.start();
return null;
}
public static void main(String args[]) throws InterruptedException {
WrapperManager.start(new Runner(), args);
}
public void start() {
LOG.info("Starting a Java-Window Service test");
Runnable r = new Runnable() {
@Override
public void run() {
try {
Thread.sleep(10000);
LOG.warn("The app will emulate a failure in 50s");
Thread.sleep(30000);
LOG.warn("The app will emulate a failure in 20s");
Thread.sleep(10000);
LOG.warn("The app will emulate a failure in 10s");
Thread.sleep(10000);
LOG.fatal("Emulating a app failure!");
System.exit(-1);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
}
};
new Thread(r).start();
}
@Override
public void controlEvent(int arg0) {
// TODO Auto-generated method stub
}
@Override
public int stop(int exitCode) {
LOG.info("App exit code: " + exitCode);
return exitCode;
}
}
How you can see, I´m using the WrapperListener, I started a thread which
count down until exit with a System.exit(-1). The classpath contain the
wrapper.jar, the log4j-1.2.16.jar and my app jar, I´m using the
NTEventLogAppender, and I can see the log messages being writed to the
Event Log, but the service after 60s die and don´t come back after 1min as
configured.
This information is useful?
On Wed, Feb 8, 2012 at 3:42 PM, Leif Mortenson <
lei...@ta...> wrote:
> Fabio,
> Thank you for the configuration file. It looks like you have it set
> up correctly. There are a couple things to keep in mind.
>
> 1) There are two components which are being monitored.
>
> a) The first is the JVM itself. Many JVM problems can be monitored,
> detected, and recovered by the Wrapper process. In these cases, the
> wrapper.ntservice.recovery.* properties are not used.
>
> b) The second is if the Wrapper process itself crashes. This is rare,
> but if it did happen, then the Windows Service Manager can make use of
> the settings in the wrapper.ntservice.recovery.* properties to restart
> the Wrapper process as a service and thus make sure your service stays
> up and running.
>
> 2) The wrapper.ntservice.recovery.* properties are available in the
> Standard and Professional editions.
> wrapper.tanukisoftware.com/doc/english/prop-ntservice-recovery.html
>
> How are you running your tests? Is it a test of the JVM crashing or
> the Wrapper?
>
> Cheers,
> Leif
>
> 2012/2/9 Fábio Braga de Oliveira <gtc...@cf...>:
> > Hello list!
> >
> > I´m trying to put my java application to run as a Windows Service, and I
> > would like to make this service very fail safe. For this, I´m evaluation
> the
> > Java Service Wrapper, and trying to configure the Windows to restart the
> > service if it fails (using the recovery tab in the service
> configurations),
> > but without success.
> >
> > My question is: What are the requirements/parameters to achieve this
> > requirement? I already tryied the integration methods 1 and 3, but for
> now I
> > don´t now what´s the right return code to force a automatic restart.
> >
> > My wrapper.conf is attached.
> >
> > Thank you in advance for any help!
>
>
> ------------------------------------------------------------------------------
> Keep Your Developer Skills Current with LearnDevNow!
> The most comprehensive online learning library for Microsoft developers
> is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
> Metro Style Apps, more. Free future releases when you subscribe now!
> http://p.sf.net/sfu/learndevnow-d2d
> _______________________________________________
> Wrapper-user mailing list
> Wra...@li...
> https://lists.sourceforge.net/lists/listinfo/wrapper-user
>
--
*CFlex - Empower your Decisions*
Tel: (+55 19) 3251-5211
Rua Barão de Paranapanema, 401A
Campinas/SP - Brasil
www.cflex.com.br
|
|
From: Leif M. <lei...@ta...> - 2012-02-08 18:06:02
|
Fabio, Thank you for the configuration file. It looks like you have it set up correctly. There are a couple things to keep in mind. 1) There are two components which are being monitored. a) The first is the JVM itself. Many JVM problems can be monitored, detected, and recovered by the Wrapper process. In these cases, the wrapper.ntservice.recovery.* properties are not used. b) The second is if the Wrapper process itself crashes. This is rare, but if it did happen, then the Windows Service Manager can make use of the settings in the wrapper.ntservice.recovery.* properties to restart the Wrapper process as a service and thus make sure your service stays up and running. 2) The wrapper.ntservice.recovery.* properties are available in the Standard and Professional editions. wrapper.tanukisoftware.com/doc/english/prop-ntservice-recovery.html How are you running your tests? Is it a test of the JVM crashing or the Wrapper? Cheers, Leif 2012/2/9 Fábio Braga de Oliveira <gtc...@cf...>: > Hello list! > > I´m trying to put my java application to run as a Windows Service, and I > would like to make this service very fail safe. For this, I´m evaluation the > Java Service Wrapper, and trying to configure the Windows to restart the > service if it fails (using the recovery tab in the service configurations), > but without success. > > My question is: What are the requirements/parameters to achieve this > requirement? I already tryied the integration methods 1 and 3, but for now I > don´t now what´s the right return code to force a automatic restart. > > My wrapper.conf is attached. > > Thank you in advance for any help! |
|
From: Holger D. <hol...@um...> - 2011-12-12 13:47:56
|
Hello Christian, Perfect. Make sense. Thank you for the fast response. Holger Holger Dippel Assistant Director for Infrastructure Integration University of Massachusetts Dartmouth 285 Old Westport Road • North Dartmouth, MA 02747 508-999-9181 • hol...@um... http://www.umassd.edu/ ----- Original Message ----- From: "Christian Mueller" <chr...@ta...> To: "Holger Dippel" <hol...@um...>, wra...@li... Sent: Monday, December 12, 2011 2:42:28 AM Subject: Re: [Wrapper-user] Ubuntu Upstart default script launches wrapper with "launchdinternal" option? Hello Holger, I'm sorry for the trouble. By default, after installing the service with upstart it will be run as root. If the USE_UPSTART variable is set in the script, it will create on install a default upstart conf file: For instance: # testwrapper - Test Wrapper Sample Application description "Test Wrapper Sample Application" author "Tanuki Software Ltd. <in...@ta...>" start on runlevel [2345] stop on runlevel [!2345] env LANG=en_US.utf8 exec "/home/christian/tanuki/35xbranch/professional/bin/testwrapper" launchdinternal (This operation requires root.) So after installing when you call the script with parameter "start" it calls /sbin/start {program} Calling /sbin/start also requires root privileges and the service starts as root. The launchdinternal option is actually not lauchd specific. The only difference here between the "normal" start is that the script will keep waiting until the Wrapper process, it launched, stopped. It was just named launchdinternal because we first added this function when integrating the script with OS X's launchd. The way launchd and upstart works was quite similar at this point, so we can use this function on upstart as well. Furthermore changing the function name could have caused problems for OSX users which upgrade the Wrapper without reinstalling their application in launchd... >From your mail, it seems you want to run the script as upstart service as specified user. I was going through the script and actually found indeed that there was a problem running an application through upstart as different user when you set the RUN_AS_USER variable to the user you want to run the script. The drop of the root privileges should happen at the entry at launchdinternal rather than start So you would have to move the line: checkUser "" "$COMMAND" from elif [ "$DIST_OS" = "linux" -a -f "/etc/init/${APP_NAME}.conf" ] ; then upstartstart to here 'launchdinternal') checkUser "" "$COMMAND" I attached the revised script to this mail. Please let me know if you have any further questions about this. Thank you, Christian Mueller Tanuki Software, Ltd. On Sat, Dec 10, 2011 at 12:09 AM, Holger Dippel <hol...@um...> wrote: > I've tried changing the upstart script to launch the wrapper with "start" > instead of "launchdinternal". Didn't work. > > Digging through the wrapper shell script I found that: > > 'start') > if [ "$DIST_OS" = "macosx" -a -f > "/Library/LaunchDaemons/${APP_PLIST}" ] ; then > macosxstart > elif [ "$DIST_OS" = "linux" -a -f "/etc/init/${APP_NAME}.conf" ] > ; then > checkUser touchlock "$@" > upstartstart > else > checkUser touchlock "$@" > if [ ! -n "$FIXED_COMMAND" ] ; then > shift > fi > start "$@" > fi > ;; > > where for upstart configurations it will run: > > checkUser touchlock "$@" > upstartstart > > where checkUser relaunches the wrapper shell script as the user I intend the > script to run as then exits the first iteration without calling upstartstart > -- at least that's how I interpret the code. > > The next iteration -- now running as the intended user -- calls checkUser > again, but nothing will happen as the script is already running under the > intended user account. > > It proceeds to upstartstart, but here it fails because the user running the > script is no longer "root". And even if it would succeed past the "root" > test, upstartstart just would try to launch /sbin/start <script> again > instead of actually starting the wrapper application. The way I understand > it, there's a flaw in this logic. > > I would omit this condition completely: > > elif [ "$DIST_OS" = "linux" -a -f "/etc/init/${APP_NAME}.conf" ] > ; then > checkUser touchlock "$@" > upstartstart > > and only distinguish between macos start and everything else. > > Why would starting the wrapper daemon with upstart be any different from > starting it by any other means? > > Does anyone have any thoughts? > > Thank you, > > > Holger > > > Holger Dippel > Assistant Director for Infrastructure Integration > University of Massachusetts Dartmouth > 285 Old Westport Road • North Dartmouth, MA 02747 > > 508-999-9181 • hol...@um... > > http://www.umassd.edu/ > > > ________________________________ > From: "Holger Dippel" <hol...@um...> > To: wra...@li... > Sent: Friday, December 9, 2011 9:04:56 AM > Subject: Ubuntu Upstart default script launches wrapper with > "launchdinternal" option? > > > Good morning, > > I am experimenting with the community edition of the wrapper to launch the > Grouper Loader as a system service. > > After installing and launching the script as upstart service on Ubuntu with > the default upstart settings for wrapper, I checked the running processes > and was surprised that all wrapper processes run as root. > > Digging a little deeper I figured out that the wrapper is started with the > "launchdinternal" option. In the wrapper shell script "launchdinternal" does > not call the checkUser function. Also, "launchd" is MacOS X specific. > > Why would the "install" option of the wrapper script detect Ubuntu > correctly, but then install a default upstart script that's MacOS X > specific? > Does anyone have an Ubuntu specific upstart script for the wrapper? > > Thank you, > > > Holger Dippel > > Holger Dippel > Assistant Director for Infrastructure Integration > University of Massachusetts Dartmouth > 285 Old Westport Road • North Dartmouth, MA 02747 > > 508-999-9181 • hol...@um... > > http://www.umassd.edu/ > ________________________________ > > > > ------------------------------------------------------------------------------ > Cloud Services Checklist: Pricing and Packaging Optimization > This white paper is intended to serve as a reference, checklist and point of > discussion for anyone considering optimizing the pricing and packaging model > of a cloud services business. Read Now! > http://www.accelacomm.com/jaw/sfnl/114/51491232/ > _______________________________________________ > Wrapper-user mailing list > Wra...@li... > https://lists.sourceforge.net/lists/listinfo/wrapper-user > |
|
From: Christian M. <chr...@ta...> - 2011-12-12 08:07:30
|
Hello Holger,
I'm sorry for the trouble.
By default, after installing the service with upstart it will be run as root.
If the USE_UPSTART variable is set in the script, it will create on
install a default upstart conf file:
For instance:
# testwrapper - Test Wrapper Sample Application
description "Test Wrapper Sample Application"
author "Tanuki Software Ltd. <in...@ta...>"
start on runlevel [2345]
stop on runlevel [!2345]
env LANG=en_US.utf8
exec "/home/christian/tanuki/35xbranch/professional/bin/testwrapper"
launchdinternal
(This operation requires root.)
So after installing when you call the script with parameter "start" it
calls /sbin/start {program}
Calling /sbin/start also requires root privileges and the service
starts as root.
The launchdinternal option is actually not lauchd specific. The only
difference here between the "normal" start is that the script will
keep waiting until the Wrapper process, it launched, stopped. It was
just named launchdinternal because we first added this function when
integrating the script with OS X's launchd. The way launchd and
upstart works was quite similar at this point, so we can use this
function on upstart as well. Furthermore changing the function name
could have caused problems for OSX users which upgrade the Wrapper
without reinstalling their application in launchd...
>From your mail, it seems you want to run the script as upstart service
as specified user.
I was going through the script and actually found indeed that there
was a problem running an application through upstart as different user
when you set the RUN_AS_USER variable to the user you want to run the
script.
The drop of the root privileges should happen at the entry at
launchdinternal rather than start
So you would have to move the line:
checkUser "" "$COMMAND"
from
elif [ "$DIST_OS" = "linux" -a -f
"/etc/init/${APP_NAME}.conf" ] ; then
upstartstart
to here
'launchdinternal')
checkUser "" "$COMMAND"
I attached the revised script to this mail.
Please let me know if you have any further questions about this.
Thank you,
Christian Mueller
Tanuki Software, Ltd.
On Sat, Dec 10, 2011 at 12:09 AM, Holger Dippel
<hol...@um...> wrote:
> I've tried changing the upstart script to launch the wrapper with "start"
> instead of "launchdinternal". Didn't work.
>
> Digging through the wrapper shell script I found that:
>
> 'start')
> if [ "$DIST_OS" = "macosx" -a -f
> "/Library/LaunchDaemons/${APP_PLIST}" ] ; then
> macosxstart
> elif [ "$DIST_OS" = "linux" -a -f "/etc/init/${APP_NAME}.conf" ]
> ; then
> checkUser touchlock "$@"
> upstartstart
> else
> checkUser touchlock "$@"
> if [ ! -n "$FIXED_COMMAND" ] ; then
> shift
> fi
> start "$@"
> fi
> ;;
>
> where for upstart configurations it will run:
>
> checkUser touchlock "$@"
> upstartstart
>
> where checkUser relaunches the wrapper shell script as the user I intend the
> script to run as then exits the first iteration without calling upstartstart
> -- at least that's how I interpret the code.
>
> The next iteration -- now running as the intended user -- calls checkUser
> again, but nothing will happen as the script is already running under the
> intended user account.
>
> It proceeds to upstartstart, but here it fails because the user running the
> script is no longer "root". And even if it would succeed past the "root"
> test, upstartstart just would try to launch /sbin/start <script> again
> instead of actually starting the wrapper application. The way I understand
> it, there's a flaw in this logic.
>
> I would omit this condition completely:
>
> elif [ "$DIST_OS" = "linux" -a -f "/etc/init/${APP_NAME}.conf" ]
> ; then
> checkUser touchlock "$@"
> upstartstart
>
> and only distinguish between macos start and everything else.
>
> Why would starting the wrapper daemon with upstart be any different from
> starting it by any other means?
>
> Does anyone have any thoughts?
>
> Thank you,
>
>
> Holger
>
>
> Holger Dippel
> Assistant Director for Infrastructure Integration
> University of Massachusetts Dartmouth
> 285 Old Westport Road • North Dartmouth, MA 02747
>
> 508-999-9181 • hol...@um...
>
> http://www.umassd.edu/
> ________________________________
>
> CITS will never ask you for your password or other confidential information
> via email. Beware of phishing scams where email and/or malicious web sites
> try to trick users into entering their username and password.
> For more information about password security please visit:
> http://www.umassd.edu/cits/security/
>
>
> ________________________________
> From: "Holger Dippel" <hol...@um...>
> To: wra...@li...
> Sent: Friday, December 9, 2011 9:04:56 AM
> Subject: Ubuntu Upstart default script launches wrapper with
> "launchdinternal" option?
>
>
> Good morning,
>
> I am experimenting with the community edition of the wrapper to launch the
> Grouper Loader as a system service.
>
> After installing and launching the script as upstart service on Ubuntu with
> the default upstart settings for wrapper, I checked the running processes
> and was surprised that all wrapper processes run as root.
>
> Digging a little deeper I figured out that the wrapper is started with the
> "launchdinternal" option. In the wrapper shell script "launchdinternal" does
> not call the checkUser function. Also, "launchd" is MacOS X specific.
>
> Why would the "install" option of the wrapper script detect Ubuntu
> correctly, but then install a default upstart script that's MacOS X
> specific?
> Does anyone have an Ubuntu specific upstart script for the wrapper?
>
> Thank you,
>
>
> Holger Dippel
>
> Holger Dippel
> Assistant Director for Infrastructure Integration
> University of Massachusetts Dartmouth
> 285 Old Westport Road • North Dartmouth, MA 02747
>
> 508-999-9181 • hol...@um...
>
> http://www.umassd.edu/
> ________________________________
>
>
>
> ------------------------------------------------------------------------------
> Cloud Services Checklist: Pricing and Packaging Optimization
> This white paper is intended to serve as a reference, checklist and point of
> discussion for anyone considering optimizing the pricing and packaging model
> of a cloud services business. Read Now!
> http://www.accelacomm.com/jaw/sfnl/114/51491232/
> _______________________________________________
> Wrapper-user mailing list
> Wra...@li...
> https://lists.sourceforge.net/lists/listinfo/wrapper-user
>
|
|
From: Holger D. <hol...@um...> - 2011-12-09 15:09:32
|
I've tried changing the upstart script to launch the wrapper with "start" instead of "launchdinternal". Didn't work.
Digging through the wrapper shell script I found that:
'start')
if [ "$DIST_OS" = "macosx" -a -f "/Library/LaunchDaemons/${APP_PLIST}" ] ; then
macosxstart
elif [ "$DIST_OS" = "linux" -a -f "/etc/init/${APP_NAME}.conf" ] ; then
checkUser touchlock "$@"
upstartstart
else
checkUser touchlock "$@"
if [ ! -n "$FIXED_COMMAND" ] ; then
shift
fi
start "$@"
fi
;;
where for upstart configurations it will run:
checkUser touchlock "$@"
upstartstart
where checkUser relaunches the wrapper shell script as the user I intend the script to run as then exits the first iteration without calling upstartstart -- at least that's how I interpret the code.
The next iteration -- now running as the intended user -- calls checkUser again, but nothing will happen as the script is already running under the intended user account.
It proceeds to upstartstart, but here it fails because the user running the script is no longer "root". And even if it would succeed past the "root" test, upstartstart just would try to launch /sbin/start <script> again instead of actually starting the wrapper application. The way I understand it, there's a flaw in this logic.
I would omit this condition completely:
elif [ "$DIST_OS" = "linux" -a -f "/etc/init/${APP_NAME}.conf" ] ; then
checkUser touchlock "$@"
upstartstart
and only distinguish between macos start and everything else.
Why would starting the wrapper daemon with upstart be any different from starting it by any other means?
Does anyone have any thoughts?
Thank you,
Holger
Holger Dippel
Assistant Director for Infrastructure Integration
University of Massachusetts Dartmouth
285 Old Westport Road • North Dartmouth, MA 02747
508-999-9181 • hol...@um... http://www.umassd.edu/
CITS will never ask you for your password or other confidential information via email. Beware of phishing scams where email and/or malicious web sites try to trick users into entering their username and password.
For more information about password security please visit: http://www.umassd.edu/cits/security/
----- Original Message -----
From: "Holger Dippel" <hol...@um...>
To: wra...@li...
Sent: Friday, December 9, 2011 9:04:56 AM
Subject: Ubuntu Upstart default script launches wrapper with "launchdinternal" option?
Good morning,
I am experimenting with the community edition of the wrapper to launch the Grouper Loader as a system service.
After installing and launching the script as upstart service on Ubuntu with the default upstart settings for wrapper, I checked the running processes and was surprised that all wrapper processes run as root.
Digging a little deeper I figured out that the wrapper is started with the "launchdinternal" option. In the wrapper shell script "launchdinternal" does not call the checkUser function. Also, "launchd" is MacOS X specific.
Why would the "install" option of the wrapper script detect Ubuntu correctly, but then install a default upstart script that's MacOS X specific?
Does anyone have an Ubuntu specific upstart script for the wrapper?
Thank you,
Holger Dippel
Holger Dippel
Assistant Director for Infrastructure Integration
University of Massachusetts Dartmouth
285 Old Westport Road • North Dartmouth, MA 02747
508-999-9181 • hol...@um... http://www.umassd.edu/
|
|
From: Holger D. <hol...@um...> - 2011-12-09 14:05:14
|
Good morning, I am experimenting with the community edition of the wrapper to launch the Grouper Loader as a system service. After installing and launching the script as upstart service on Ubuntu with the default upstart settings for wrapper, I checked the running processes and was surprised that all wrapper processes run as root. Digging a little deeper I figured out that the wrapper is started with the "launchdinternal" option. In the wrapper shell script "launchdinternal" does not call the checkUser function. Also, "launchd" is MacOS X specific. Why would the "install" option of the wrapper script detect Ubuntu correctly, but then install a default upstart script that's MacOS X specific? Does anyone have an Ubuntu specific upstart script for the wrapper? Thank you, Holger Dippel Holger Dippel Assistant Director for Infrastructure Integration University of Massachusetts Dartmouth 285 Old Westport Road • North Dartmouth, MA 02747 508-999-9181 • hol...@um... http://www.umassd.edu/ |
|
From: Asawari P. <ass...@gm...> - 2011-12-01 11:25:08
|
Thanks Leif! Asawari On Wed, Nov 30, 2011 at 7:42 PM, Leif Mortenson < lei...@ta...> wrote: > Asawari, > The Windows 64-bit version is available in Standard and Professional > Editions. This was also the case for all previous versions. > http://wrapper.tanukisoftware.com/doc/english/download.jsp > > Please run "Wrapper.exe -version" with the 3.5.11 version you were > using to see what was being used. > > Cheers, > Leif > > On Wed, Nov 30, 2011 at 4:50 PM, Asawari Pawar <ass...@gm...> > wrote: > > Hi Leif, > > > > I do not see 64-bit windows version of 3.5.13 . > > > > http://wrapper.tanukisoftware.com/doc/english/download.jsp > > > > Will this be available soon? > > > > Thanks, > > Asawari > > > > On Wed, Nov 30, 2011 at 1:13 PM, Asawari Pawar <ass...@gm...> > wrote: > >> > >> Thanks Leif! > >> > >> I will try upgrading to version 3.5.13 > >> > >> I will get back to you if I have any issues. > >> > >> Thanks, > >> Asawari > >> > >> On Wed, Nov 30, 2011 at 12:37 PM, Leif Mortenson > >> <lei...@ta...> wrote: > >>> > >>> Asawari, > >>> I am sorry for the trouble. There is a known buffer overflow problem > >>> in 3.5.11 and 3.5.12 where log lines from the JVM that are over 3072 > >>> characters in length. This issue was well understood and has been > >>> resolved in the 3.5.13 release. Please try upgrading and it should fix > >>> this for you. > >>> > >>> Anyone who is using either of these versions should upgrade their > >>> servers immediately if there is a chance that their JVM applications > >>> could output long log lines. The buffer overflow is likely to result > >>> in a crash which will cause the Wrapper process to terminate, and the > >>> JVM to shut itself down immediately. When the Wrapper fails like > >>> this, it will not restart the JVM so the application will be down. > >>> > >>> Cheers, > >>> Leif > >>> > >>> On Wed, Nov 30, 2011 at 3:58 PM, Asawari Pawar <ass...@gm...> > >>> wrote: > >>> > Hi, > >>> > > >>> > I am using wrapper version 3.5.11 on Windows XP and Windows 2003 > >>> > systems. > >>> > Wrapper servic is crashing with Event ID 1000 Faulting Application > >>> > wraaper.exe, faulting module wrapper.exe version 3.5.11.0 fault > address > >>> > 0x0003c129 I see the above error message in windows event log. Can > >>> > anyone > >>> > help me with the above issue? > >>> > > >>> > I have attached the screenshot. > >>> > > >>> > Thanks! > > > ------------------------------------------------------------------------------ > All the data continuously generated in your IT infrastructure > contains a definitive record of customers, application performance, > security threats, fraudulent activity, and more. Splunk takes this > data and makes sense of it. IT sense. And common sense. > http://p.sf.net/sfu/splunk-novd2d > _______________________________________________ > Wrapper-user mailing list > Wra...@li... > https://lists.sourceforge.net/lists/listinfo/wrapper-user > |
|
From: Manjiri <man...@gm...> - 2011-11-30 14:32:39
|
Hello, Thank you for your help. Yes, you are right, our box did shutdown and caused the apacheds to stop. On startup, the jvm ping timed out and caused the wrapper to not start. Then after 2 days, I realized that the ApacheDS service is not running and attempted to start it. I will edit the values for the wrapper.max_failed_invocations and the wrapper.startup.timeout parameters according to your suggestions and let you know. Thanks again for your valuable help. Sincerely, Manjiri Leif Mortenson-3 wrote: > > Manjiri, > Thank you for the logs. There were a few things that I noticed. > > 1) The first JVM infocation's log output simply stops at 2011/11/21 > 15:30:04 without the Wrapper shutting down. This could happen if the > OS was shutdown with a hard power off, or if Wrapper process crashed. > > 2) The Wrapper is then started up again almost an hour later at > 2011/11/21 16:20:42. This time the Wrapper launches the JVM, but > times out after 30 seconds waiting for it to start. This could be a > problem with the JVM freezing startup, or that your system was so > heavily loaded at the time that the JVM was not able to complete its > startup within that time. It looks like you have told the Wrapper > never to try again with the "wrapper.max_failed_invocations=1" > property. So it gives up after the first attempt and exits. If the > issue was caused by heavy load, then extending your > wrapper.startup.timeout to a longer value might clear this up for you. > We have made many improvements to the Wrapper over the years so there > is a fairly good chance that this has been improved in the latest > versions. 3.2.3 is over 5 years old. > I am not able to give you much more information with that version > unless you can reproduce this problem with the wrapper.debug=true > property set. I would prefer that you try to do so with a newer > version however. > > 3) There was then a 2 day down time. The next launch attempt was at > 2011/11/23 13:42:01. What happened between these two events? Was the > system rebooted? I have seen rare cases where Windows has resource > problems which can cause it to start failing to launch a given > process. When that happens, it is never cleared up until the system > has been rebooted. > > Cheers, > Leif > > On Thu, Nov 24, 2011 at 5:52 AM, Manjiri <man...@gm...> > wrote: >> >> Hello, >> >> I am sorry for not being able to provide the requested conf and the log >> file. That issue seemed to disappear for a while. But, observed it again. >> >> ERROR | wrapper | 2011/11/21 16:21:23 | Startup failed: Timed out >> waiting >> for signal from JVM. >> ERROR | wrapper | 2011/11/21 16:21:24 | JVM did not exit on request, >> terminated >> INFO | wrapper | 2011/11/21 16:21:24 | JVM exited on its own while >> waiting to kill the application. >> STATUS | wrapper | 2011/11/21 16:21:24 | JVM exited in response to >> signal >> SIGKILL (9). >> >> Any help is highly appreciated. >> >> http://old.nabble.com/file/p32874521/apacheds.conf apacheds.conf >> http://old.nabble.com/file/p32874521/wrapper.log.1 wrapper.log.1 >> >> Sincerely, >> Manjiri > > ------------------------------------------------------------------------------ > All the data continuously generated in your IT infrastructure > contains a definitive record of customers, application performance, > security threats, fraudulent activity, and more. Splunk takes this > data and makes sense of it. IT sense. And common sense. > http://p.sf.net/sfu/splunk-novd2d > _______________________________________________ > Wrapper-user mailing list > Wra...@li... > https://lists.sourceforge.net/lists/listinfo/wrapper-user > > -- View this message in context: http://old.nabble.com/Wrapper-start-problems-tp31295824p32884528.html Sent from the Java Service Wrapper mailing list archive at Nabble.com. |
|
From: Leif M. <lei...@ta...> - 2011-11-30 14:12:51
|
Asawari, The Windows 64-bit version is available in Standard and Professional Editions. This was also the case for all previous versions. http://wrapper.tanukisoftware.com/doc/english/download.jsp Please run "Wrapper.exe -version" with the 3.5.11 version you were using to see what was being used. Cheers, Leif On Wed, Nov 30, 2011 at 4:50 PM, Asawari Pawar <ass...@gm...> wrote: > Hi Leif, > > I do not see 64-bit windows version of 3.5.13 . > > http://wrapper.tanukisoftware.com/doc/english/download.jsp > > Will this be available soon? > > Thanks, > Asawari > > On Wed, Nov 30, 2011 at 1:13 PM, Asawari Pawar <ass...@gm...> wrote: >> >> Thanks Leif! >> >> I will try upgrading to version 3.5.13 >> >> I will get back to you if I have any issues. >> >> Thanks, >> Asawari >> >> On Wed, Nov 30, 2011 at 12:37 PM, Leif Mortenson >> <lei...@ta...> wrote: >>> >>> Asawari, >>> I am sorry for the trouble. There is a known buffer overflow problem >>> in 3.5.11 and 3.5.12 where log lines from the JVM that are over 3072 >>> characters in length. This issue was well understood and has been >>> resolved in the 3.5.13 release. Please try upgrading and it should fix >>> this for you. >>> >>> Anyone who is using either of these versions should upgrade their >>> servers immediately if there is a chance that their JVM applications >>> could output long log lines. The buffer overflow is likely to result >>> in a crash which will cause the Wrapper process to terminate, and the >>> JVM to shut itself down immediately. When the Wrapper fails like >>> this, it will not restart the JVM so the application will be down. >>> >>> Cheers, >>> Leif >>> >>> On Wed, Nov 30, 2011 at 3:58 PM, Asawari Pawar <ass...@gm...> >>> wrote: >>> > Hi, >>> > >>> > I am using wrapper version 3.5.11 on Windows XP and Windows 2003 >>> > systems. >>> > Wrapper servic is crashing with Event ID 1000 Faulting Application >>> > wraaper.exe, faulting module wrapper.exe version 3.5.11.0 fault address >>> > 0x0003c129 I see the above error message in windows event log. Can >>> > anyone >>> > help me with the above issue? >>> > >>> > I have attached the screenshot. >>> > >>> > Thanks! |