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: Christian M. <chr...@ta...> - 2012-04-23 02:48:19
|
Hello jeroen, Thank you for your detailed explanation. When the cluster controller is trying to bring down the Wrapper application, is there anything in the log file, which would give a hint on why the wrapper processes isn't stopping. Furthermore, you said that the java application keeps running, but is the wrapper process also still running? If the cluster controller sends a signal to the JVM to shutdown, please remember that the jvm, which runs as console, has been set to ignore signals (in order to keep running after a logoff signal has been received)... Looking forward to hearing back from you. Best Regards, Christian On Fri, Apr 20, 2012 at 11:39 PM, jeroen vranckx <jvr...@gm...>wrote: > Well, i did some more research, and have some more indepth information > I'm not bringing down the node itself, I rather simulate a failure of the > disk, which the wrapper application depends on. After some research in the > cluster logs(which made me realise some in depth clustermechanisms i didn't > know), i filtered out this related information for you. > > > [RCM] TransitionToState(Disk J:\) ProcessingFailure-->[WaitingToTerminate > to DelayRestartingResource]. [RCM] rcm::RcmGroup::UpdateStateIfChanged: > (Java Service Group, PartialOnline --> Pending) > [RCM] TransitionToState(wrapper Application) Online-->[WaitingToTerminate > to OnlineCallIssued]. > [RCM] TransitionToState(wrapper Application) [WaitingToTerminate to > OnlineCallIssued]-->[Terminating to OnlineCallIssued]. > [RCM] HandleMonitorReply: TERMINATERESOURCE for 'wrapper Application', > gen(16) result 0. > [RCM] Restarting resource 'wrapper Application'. > seems like the cluster does try to terminate the wrapper-application, but > i know for a fact(I can see that the proces of the java-application keeps > running in task manager), that he doesn't succeed in doing this. > > After that the disk comes back online, the generic application is brought > back online. The cluster actually now makes a second JVM. And well, these > are running the exact same application, so the generic application(second > JVM) fails again. > > After he does the failover to the other node, everything works again and > he can bring up teh generic application. but what is happening now? the > original proces is still running on the other node. > So i have the same proces running on both nodes, and the cluster isn't > aware of this. > > Now I have made myself a fix, by just killing any left over Java-processes > when i do a failover. > > I have to mention, that running the same application as windows service > fixes this problem. seems like the cluster is communicating differntly with > the generic application > > > RCM] TransitionToState(Disk J:\) ProcessingFailure-->[WaitingToTerminate > to DelayRestartingResource]. > [RCM] rcm::RcmGroup::UpdateStateIfChanged: (Java Service Group, > PartialOnline --> Pending) > [RCM] TransitionToState(H2) Online-->[WaitingToTerminate to > OnlineCallIssued]. > [RCM] TransitionToState(H2) [WaitingToTerminate to > OnlineCallIssued]-->[Terminating to OnlineCallIssued]. > [RES] Generic Service <H2>: Terminate request. > [RCM] TransitionToState(FileServer-(testjp)(Disk J:\)) > Online-->[WaitingToTerminate to OnlineCallIssued]. > [RES] Generic Service <H2>: GenSvcTerminate : calling SCM (didStop=0) > > > [RES] Generic Service <H2>: GenSvcTerminate: retrying... > [RES] Generic Service <H2>: GenSvcTerminate : calling SCM (didStop=1) > [RES] Generic Service <H2>: GenSvcTerminate: retrying... > [RES] Generic Service <H2>: GenSvcTerminate : calling SCM (didStop=1) > > [RES] Generic Service <H2>: GenSvcTerminate: retrying... > [RES] Generic Service <H2>: GenSvcTerminate : calling SCM (didStop=1) > [RES] Generic Service <H2>: GenSvcTerminate: retrying... > [RES] Generic Service <H2>: GenSvcTerminate : calling SCM (didStop=1) > [RES] Generic Service <H2>: GenSvcTerminate: retrying... > [RES] Generic Service <H2>: GenSvcTerminate : calling SCM (didStop=1) > [RES] Generic Service <H2>: GenSvcTerminate: retrying... > [RES] Generic Service <H2>: GenSvcTerminate : calling SCM (didStop=1) > [RES] Generic Service <H2>: Service died; status = 1062. > [RCM] HandleMonitorReply: TERMINATERESOURCE for 'H2', gen(0) result 0. > [RCM] Restarting resource 'H2'. > > the resource checking the service control manager, if the windows service > is really offline does work well in this case. > So in the new environment, we will probably go for running the > applications als services, and on top of that running the powershell script > with taskscheduler on the server to kill all remaining java processes after > a failover. > > I do want to know what goes wrong with the Wrapper Application though ^^. > seems like a misscommunication between cluster and wrapper. Just giving you > some feedback on what i'm thinking here. > > greetings jeroen > > > On 20 April 2012 10:04, Christian Mueller < > chr...@ta...> wrote: > >> Hello Jeroen, >> >> I'm very sorry for the delay. >> >> How are you bringing down the node? >> If I understand how you bring it down or what you mean by "bringing the >> resource offline", I will probably able to tell you more. >> >> Best Regards, >> >> Christian >> >> >> >> >> On Tue, Apr 17, 2012 at 6:35 PM, jeroen vranckx <jvr...@gm...>wrote: >> >>> >>> Thanks for the information christian, >>> >>> I have another question regarding using the wrapper to run a java proces >>> as console application on a windows cluster. The application is brought >>> online quit neatly, and I can see in the log that the JVM is started >>> succesfully. Now, if I bring the resource offline, i however won't see the >>> JVM shutting down in the logs. >>> >>> I would like to see this if possible. >>> Is this a problem with the cluster not interacting t-with the java >>> service wrapper? >>> Am I using a wrong implementation-possibility? using wrappersimpleApp at >>> the moment. >>> >>> Are there other possilities to check if there are JVM still running on >>> the machine? So by not using the wrapper? >>> >>> The thing is, that I'm having some issues concerning java-processes who >>> don't get shut down. So this means that a proces will keep running on one >>> node(even though the cluster itself says that the service is failed), and >>> will start up on the other node. Which means that the same proces is >>> running on both node. which is a disaster ^^. >>> >>> Hope you can help >>> >>> jeroen Vranckx >>> >>> On 6 April 2012 07:31, Christian Mueller < >>> chr...@ta...> wrote: >>> >>>> Hello Jeroen, >>>> >>>> I don't think you are able to start the service by issuing "wrapper.exe >>>> -s ..\conf\wrapper.conf" from console or any user session. >>>> >>>> When running the Wrapper with -t, it tells the Service Control Manager, >>>> to start the service. Using the API call StartService: >>>> >>>> http://msdn.microsoft.com/en-us/library/windows/desktop/ms686321%28v=vs.85%29.aspx >>>> >>>> For instance, if you call, net start {service}, it will also call >>>> StartService quite like the Wrapper when run as wrapper -t >>>> >>>> With the StartService call, the service manager will start then the >>>> service command (wrapper -s) and waits for the process to start the control >>>> dispatcher and connect to the service control manager. This is being done >>>> in the service process by calling StartServiceCtrlDispatcher. >>>> >>>> http://msdn.microsoft.com/en-us/library/windows/desktop/ms686324%28v=vs.85%29.aspx >>>> Therefore, running bin\wrapper -s, from console without the service >>>> manager waiting for a connection, will ultimately cause a failure. >>>> >>>> That mechanism is a bit similar for instance to the TCP handshake. >>>> >>>> Hope this helps you out. >>>> >>>> Cheers, >>>> Christian >>>> >>>> >>>> On Wed, Apr 4, 2012 at 6:57 PM, jeroen vranckx <jvr...@gm...>wrote: >>>> >>>>> hey christian, >>>>> >>>>> If I look at the created windows service that I made by using the >>>>> wrapper.exe -i wrapper.conf option, when i look at the path to the >>>>> executable it says X:\Foo\Bar\app\bin\wrapper.exe -s >>>>> X:\Foo\Bar\app\conf\wrapper.conf. >>>>> >>>>> Now, I have the possibility when i create a generic application(for >>>>> clusterunaware services), to just specify the service that i want to make >>>>> generic. I have the possibility to give the generic service a specific >>>>> startup command, so I could definatly use the -t method if nesecairy. >>>>> If I run it, it works perfectly fine without the us of the -t >>>>> parameter(it will probably use the -s parameter by default). What does the >>>>> -t parameter do actually? >>>>> What's the difference if i run it with -s or --t? >>>>> >>>>> Indeed it says on the website(just as you say), that you need to call >>>>> the -t parameter for a service, but the -s parameter(that is default when >>>>> you install by the -i parameter) kinda confused me. >>>>> >>>>> Looking forward to your replye, and tnx in advance >>>>> >>>>> greetings, >>>>> Jeroen Vranckx >>>>> >>>>> >>>>> On 4 April 2012 07:10, Christian Mueller < >>>>> chr...@ta...> wrote: >>>>> >>>>>> Hello, >>>>>> >>>>>> the parameter '-s' should not be called by the user but the service >>>>>> manager in order to control the wrapper as service. >>>>>> >>>>>> when you want to start the installed service from console or script, >>>>>> please run: >>>>>> X:\Foo\Bar\app\bin\wrapper.exe -t X:\Foo\Bar\app\conf\wrapper.conf >>>>>> >>>>>> for all available parameters, please run bin\wrapper -? >>>>>> >>>>>> The wrapper.internal.namedpipe property is for internal use only and >>>>>> shouldn't be set. >>>>>> Actually it is only being used during installation and actually I >>>>>> think it's redundant to have it on the servicemanager command. >>>>>> When you interact with a service, administrator privileges are >>>>>> required. However starting with the introduction of UAC in Windows Vista, >>>>>> an Administrator account also needs to elevate a process to run under high >>>>>> security context. The Wrapper will check if it runs already elevated and >>>>>> if not, it will pop-up the elevation dialog, requesting the elevation. This >>>>>> will actually spawn an elevated process, which will do the required task. >>>>>> The IPC of the elevated process and the original process is done via a >>>>>> named pipe the original process allocates. The name of the named pipe is >>>>>> random, so that's why you see two different names. Using random names makes >>>>>> it possible to interact with multiple services simultaneously without >>>>>> clashing. To tell the elevated process at which pipe the original wrapper >>>>>> process is waiting for, the wrapper.internal.namedpipe is being defined. >>>>>> The elevated process then redirects stdin/stdout/stderr to the pipes >>>>>> and because by default stdin/stdout/stderr is buffered to save some >>>>>> performance, but in this case it will cause some timing issues and since >>>>>> the install/remove/start/stop actions are only running for a rather short >>>>>> time, performance doesn't matter that much. >>>>>> >>>>>> Hope this answers all your questions. >>>>>> >>>>>> Please let me know if you need any further information. >>>>>> >>>>>> Thank you, >>>>>> >>>>>> Christian >>>>>> >>>>>> On Tue, Apr 3, 2012 at 5:43 PM, jeroen vranckx < >>>>>> jvr...@gm...> wrote: >>>>>> >>>>>>> Just figured out something ^^ >>>>>>> Seems like the wrapper.console.flush param and namedpipe param are a >>>>>>> indirect consequence of installing the service when you don't use >>>>>>> administrator params in cmd. >>>>>>> So if you're doing something like clustering, this will definatly >>>>>>> mess things up. >>>>>>> >>>>>>> Fixed this issue, and not having issues anymore. >>>>>>> Scripted the wrapper.exe -i option in windows powershell, and >>>>>>> managed to get the service running now. I'll be integrating it with the >>>>>>> automatic generation of the windows service as a generic service in the >>>>>>> cluster. >>>>>>> >>>>>>> I still would like to know what those param do, as they do seem to >>>>>>> be wrapperrelated >>>>>>> >>>>>>> >>>>>>> On 3 April 2012 10:03, jeroen vranckx <jvr...@gm...> wrote: >>>>>>> >>>>>>>> Well, to keep you guys updated on my progress. >>>>>>>> >>>>>>>> I managed to get the fix the logging off problem by using the >>>>>>>> ignore_user_logoffs=TRUE option. Seems to do the trick, but I'm checking >>>>>>>> out the other method to where I use the application as Windows Service too. >>>>>>>> I managed to get that working too. Now when i go check out the >>>>>>>> service that is installed on both nodes(well on the windows server cluster, >>>>>>>> you need to install the service on both nodes locally), i can see that >>>>>>>> the path to the executable is something like this: >>>>>>>> >>>>>>>> X:\Foo\Bar\app\bin\wrapper.exe -s X:\Foo\Bar\app\conf\wrapper.conf >>>>>>>> wrapper.console.flush=true wrapper.internal.namedpipe=0643816939 >>>>>>>> The named pipe is different on both servers >>>>>>>> >>>>>>>> What does the wrapper.console.flush parameter do? And the namedpipe >>>>>>>> is dependant on the wrapper? >>>>>>>> Reason why I am asking this, is because I'm probably gonna need to >>>>>>>> script some managementtools. Already tried to script something in >>>>>>>> powershell, where i kept everything like that, but took a random number for >>>>>>>> the namedpip(kept the number of digits though). >>>>>>>> >>>>>>>> The service did get created, but it didn't start up. So Im' >>>>>>>> woundering if i need to consider some stuff, when creating the windows >>>>>>>> service myself in powershell instead of using the wrapper.exe -i method in >>>>>>>> cmd. >>>>>>>> >>>>>>>> thanks in advance >>>>>>>> >>>>>>>> jeroen Vranckx >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On 28 March 2012 09:10, Christian Mueller < >>>>>>>> chr...@ta...> wrote: >>>>>>>> >>>>>>>>> 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 >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> ------------------------------------------------------------------------------ >>>>>>>>> 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 >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> ------------------------------------------------------------------------------ >>>>>>> Better than sec? Nothing is better than sec when it comes to >>>>>>> monitoring Big Data applications. Try Boundary one-second >>>>>>> resolution app monitoring today. Free. >>>>>>> http://p.sf.net/sfu/Boundary-dev2dev >>>>>>> >>>>>>> _______________________________________________ >>>>>>> Wrapper-user mailing list >>>>>>> Wra...@li... >>>>>>> https://lists.sourceforge.net/lists/listinfo/wrapper-user >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> ------------------------------------------------------------------------------ >>>>>> Better than sec? Nothing is better than sec when it comes to >>>>>> monitoring Big Data applications. Try Boundary one-second >>>>>> resolution app monitoring today. Free. >>>>>> http://p.sf.net/sfu/Boundary-dev2dev >>>>>> _______________________________________________ >>>>>> Wrapper-user mailing list >>>>>> Wra...@li... >>>>>> https://lists.sourceforge.net/lists/listinfo/wrapper-user >>>>>> >>>>>> >>>>> >>>>> >>>>> ------------------------------------------------------------------------------ >>>>> Better than sec? Nothing is better than sec when it comes to >>>>> monitoring Big Data applications. Try Boundary one-second >>>>> resolution app monitoring today. Free. >>>>> http://p.sf.net/sfu/Boundary-dev2dev >>>>> _______________________________________________ >>>>> Wrapper-user mailing list >>>>> Wra...@li... >>>>> https://lists.sourceforge.net/lists/listinfo/wrapper-user >>>>> >>>>> >>>> >>>> >>>> ------------------------------------------------------------------------------ >>>> For Developers, A Lot Can Happen In A Second. >>>> Boundary is the first to Know...and Tell You. >>>> Monitor Your Applications in Ultra-Fine Resolution. Try it FREE! >>>> http://p.sf.net/sfu/Boundary-d2dvs2 >>>> >>>> _______________________________________________ >>>> Wrapper-user mailing list >>>> Wra...@li... >>>> https://lists.sourceforge.net/lists/listinfo/wrapper-user >>>> >>>> >>> >>> >>> ------------------------------------------------------------------------------ >>> Better than sec? Nothing is better than sec when it comes to >>> monitoring Big Data applications. Try Boundary one-second >>> resolution app monitoring today. Free. >>> http://p.sf.net/sfu/Boundary-dev2dev >>> _______________________________________________ >>> Wrapper-user mailing list >>> Wra...@li... >>> https://lists.sourceforge.net/lists/listinfo/wrapper-user >>> >>> >> >> >> ------------------------------------------------------------------------------ >> For Developers, A Lot Can Happen In A Second. >> Boundary is the first to Know...and Tell You. >> Monitor Your Applications in Ultra-Fine Resolution. Try it FREE! >> http://p.sf.net/sfu/Boundary-d2dvs2 >> _______________________________________________ >> Wrapper-user mailing list >> Wra...@li... >> https://lists.sourceforge.net/lists/listinfo/wrapper-user >> >> > > > ------------------------------------------------------------------------------ > For Developers, A Lot Can Happen In A Second. > Boundary is the first to Know...and Tell You. > Monitor Your Applications in Ultra-Fine Resolution. Try it FREE! > http://p.sf.net/sfu/Boundary-d2dvs2 > _______________________________________________ > Wrapper-user mailing list > Wra...@li... > https://lists.sourceforge.net/lists/listinfo/wrapper-user > > |
|
From: Christian M. <chr...@ta...> - 2012-04-23 02:35:15
|
Hello Abhishek, I'm sorry, I didn't realize that you started a new thread. As jeroen already pointed out, this looks strange: wrapper.java.classpath.3=.;ATI.jar Probably a typo... Those 2 classpath elements are not needed: wrapper.java.classpath.26=../lib/wrapper.dll wrapper.java.classpath.27=../lib/wrapperdemo.jar Furthermore, the NoClassDefFoundError for org.springframework.dao.DuplicateKeyException means that the jar file with that class is not defined on the classpath. I think it's in the transactions module (org.springframework.transaction-xxxx.jar) Hope this helps you out. Best Regards, Christian On Fri, Apr 20, 2012 at 11:57 PM, jeroen vranckx <jvr...@gm...>wrote: > > When I checked your config file, i noticed some things. > > -wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp was > not there. You can't specify the mainclass of your own application there. > you have to use one of the 4 implementation classes of the wrapper itself. > > -I deleted Wrappertest.jar. Don't think you need that anymore. > > -You should check you classpath.2 it was something like .;ATI.jar > I took a guess and changed it to ../ATI.jar > For the rest it seems fine by me. You should try the attached config file > out. maybe christian can check it also. Could be that i missed something. > > > By the way, if you are trying to run it as a windows service, if you > already used the wrapper.exe -i method, delete the old service first. And > redo everything with the new config file. > Make sure that you have all files and directorystructures right. > > greetze, jeroen > > > On 20 April 2012 14:50, Abhishek Chordia <ema...@gm...>wrote: > >> Hi team, >> >> >> Please help me out,I am not able to start the java application using >> wrapper : >> >> System : Windows XP >> Wapper Version: 3.5.14 >> >> -- >> Regards, >> Abhishek Chordia >> M : 08802042181 >> One97 Communication Ltd. >> B-121, Sector -5, Noida (NCR)-201301 >> >> >> >> ------------------------------------------------------------------------------ >> For Developers, A Lot Can Happen In A Second. >> Boundary is the first to Know...and Tell You. >> Monitor Your Applications in Ultra-Fine Resolution. Try it FREE! >> http://p.sf.net/sfu/Boundary-d2dvs2 >> _______________________________________________ >> Wrapper-user mailing list >> Wra...@li... >> https://lists.sourceforge.net/lists/listinfo/wrapper-user >> >> > > > ------------------------------------------------------------------------------ > For Developers, A Lot Can Happen In A Second. > Boundary is the first to Know...and Tell You. > Monitor Your Applications in Ultra-Fine Resolution. Try it FREE! > http://p.sf.net/sfu/Boundary-d2dvs2 > _______________________________________________ > Wrapper-user mailing list > Wra...@li... > https://lists.sourceforge.net/lists/listinfo/wrapper-user > > |
|
From: Christian M. <chr...@ta...> - 2012-04-23 02:18:58
|
Hello, The ClassNotFoundException you are seeing means that the wrapper.jar file wasn't found on the classpath. In your conf file, I can see the following: wrapper.java.classpath.2=../lib/wrapper.jar Can you please make sure that the file is located at the specified location? Hope this information helps you out. Best Regards, Christian Mueller Tanuki Software, Ltd. On Fri, Apr 20, 2012 at 6:33 PM, Abhishek Chordia < ema...@gm...> wrote: > Hi , > > Now i am getting the below error and also wrapper.conf file attached.: > > > STATUS | wrapper | 2012/04/20 14:54:30 | Launching a JVM... > ERROR | wrapper | 2012/04/20 14:54:31 | JVM exited while loading the > application. > INFO | jvm 3 | 2012/04/20 14:54:31 | Exception in thread "main" > java.lang.NoClassDefFoundError: > org/tanukisoftware/wrapper/test/WrapperSimpleApp > INFO | jvm 3 | 2012/04/20 14:54:31 | Caused by: > java.lang.ClassNotFoundException: > org.tanukisoftware.wrapper.test.WrapperSimpleApp > INFO | jvm 3 | 2012/04/20 14:54:31 | at > java.net.URLClassLoader$1.run(URLClassLoader.java:200) > INFO | jvm 3 | 2012/04/20 14:54:31 | at > java.security.AccessController.doPrivileged(Native Method) > INFO | jvm 3 | 2012/04/20 14:54:31 | at > java.net.URLClassLoader.findClass(URLClassLoader.java:188) > INFO | jvm 3 | 2012/04/20 14:54:31 | at > java.lang.ClassLoader.loadClass(ClassLoader.java:307) > INFO | jvm 3 | 2012/04/20 14:54:31 | at > sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) > INFO | jvm 3 | 2012/04/20 14:54:31 | at > java.lang.ClassLoader.loadClass(ClassLoader.java:252) > INFO | jvm 3 | 2012/04/20 14:54:31 | at > java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) > INFO | jvm 3 | 2012/04/20 14:54:31 | Could not find the main class: > org.tanukisoftware.wrapper.test.WrapperSimpleApp. Program will exit. > STATUS | wrapper | 2012/04/20 14:54:35 | Launching a JVM... > ERROR | wrapper | 2012/04/20 14:54:35 | JVM exited while loading the > application. > INFO | jvm 4 | 2012/04/20 14:54:35 | Exception in thread "main" > java.lang.NoClassDefFoundError: > org/tanukisoftware/wrapper/test/WrapperSimpleApp > INFO | jvm 4 | 2012/04/20 14:54:35 | Caused by: > java.lang.ClassNotFoundException: > org.tanukisoftware.wrapper.test.WrapperSimpleApp > INFO | jvm 4 | 2012/04/20 14:54:35 | at > java.net.URLClassLoader$1.run(URLClassLoader.java:200) > INFO | jvm 4 | 2012/04/20 14:54:35 | at > java.security.AccessController.doPrivileged(Native Method) > INFO | jvm 4 | 2012/04/20 14:54:35 | at > java.net.URLClassLoader.findClass(URLClassLoader.java:188) > INFO | jvm 4 | 2012/04/20 14:54:35 | at > java.lang.ClassLoader.loadClass(ClassLoader.java:307) > INFO | jvm 4 | 2012/04/20 14:54:35 | at > sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) > INFO | jvm 4 | 2012/04/20 14:54:35 | at > java.lang.ClassLoader.loadClass(ClassLoader.java:252) > INFO | jvm 4 | 2012/04/20 14:54:35 | at > java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) > INFO | jvm 4 | 2012/04/20 14:54:35 | Could not find the main class: > org.tanukisoftware.wrapper.test.WrapperSimpleApp. Program will exit. > STATUS | wrapper | 2012/04/20 14:54:40 | Launching a JVM... > ERROR | wrapper | 2012/04/20 14:54:40 | JVM exited while loading the > application. > INFO | jvm 5 | 2012/04/20 14:54:40 | Exception in thread "main" > java.lang.NoClassDefFoundError: > org/tanukisoftware/wrapper/test/WrapperSimpleApp > INFO | jvm 5 | 2012/04/20 14:54:40 | Caused by: > java.lang.ClassNotFoundException: > org.tanukisoftware.wrapper.test.WrapperSimpleApp > INFO | jvm 5 | 2012/04/20 14:54:40 | at > java.net.URLClassLoader$1.run(URLClassLoader.java:200) > INFO | jvm 5 | 2012/04/20 14:54:40 | at > java.security.AccessController.doPrivileged(Native Method) > INFO | jvm 5 | 2012/04/20 14:54:40 | at > java.net.URLClassLoader.findClass(URLClassLoader.java:188) > INFO | jvm 5 | 2012/04/20 14:54:40 | at > java.lang.ClassLoader.loadClass(ClassLoader.java:307) > INFO | jvm 5 | 2012/04/20 14:54:40 | at > sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) > INFO | jvm 5 | 2012/04/20 14:54:40 | at > java.lang.ClassLoader.loadClass(ClassLoader.java:252) > INFO | jvm 5 | 2012/04/20 14:54:40 | at > java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) > INFO | jvm 5 | 2012/04/20 14:54:40 | Could not find the main class: > org.tanukisoftware.wrapper.test.WrapperSimpleApp. Program will exit. > FATAL | wrapper | 2012/04/20 14:54:41 | There were 5 failed launches in > a row, each lasting less than 300 seconds. Giving up. > FATAL | wrapper | 2012/04/20 14:54:41 | There may be a configuration > problem: please check the logs. > STATUS | wrapper | 2012/04/20 14:54:41 | <-- Wrapper Stopped > > > > > > > > On Fri, Apr 20, 2012 at 1:27 PM, Christian Mueller < > chr...@ta...> wrote: > >> Hello Abhishek, >> >> thank you for your mail. >> >> please change the following property: >> wrapper.java.mainclass=org.tanukisoftware.wrapper.test.Main >> to >> wrapper.java.mainclass=org.tanukisoftware.wrapper.test.WrapperSimpleApp >> >> org.tanukisoftware.wrapper.test.Main is actually the main class of the >> test application, which is shipped with every Wrapper distribution. >> >> Furthermore, I saw that the property wrapper.app.parameter.1 is commented >> out, please make sure that the name of your main class is put here and is >> correct. >> >> Hope this information helps you out. >> >> Best Regards, >> >> Christian Mueller >> Tanuki Software, Ltd. >> >> >> >> On Fri, Apr 20, 2012 at 1:10 PM, Abhishek Chordia < >> ema...@gm...> wrote: >> >>> Hi Team, >>> >>> Please help me out, i am not able to start my java application using >>> Wrapper but it is running fine manually : >>> >>> System Configuration : Linux 32 bit system. >>> Wrapper version : 3.514 >>> >>> Configurtion & log file attached. >>> >>> -- >>> Regards, >>> Abhishek Chordia >>> M : 08802042181 >>> One97 Communication Ltd. >>> B-121, Sector -5, Noida (NCR)-201301, India. >>> >>> >>> >>> ------------------------------------------------------------------------------ >>> For Developers, A Lot Can Happen In A Second. >>> Boundary is the first to Know...and Tell You. >>> Monitor Your Applications in Ultra-Fine Resolution. Try it FREE! >>> http://p.sf.net/sfu/Boundary-d2dvs2 >>> _______________________________________________ >>> Wrapper-user mailing list >>> Wra...@li... >>> https://lists.sourceforge.net/lists/listinfo/wrapper-user >>> >>> >> >> >> ------------------------------------------------------------------------------ >> For Developers, A Lot Can Happen In A Second. >> Boundary is the first to Know...and Tell You. >> Monitor Your Applications in Ultra-Fine Resolution. Try it FREE! >> http://p.sf.net/sfu/Boundary-d2dvs2 >> _______________________________________________ >> Wrapper-user mailing list >> Wra...@li... >> https://lists.sourceforge.net/lists/listinfo/wrapper-user >> >> > > > -- > Regards, > Abhishek Chordia > M : 08802042181 > One97 Communication Ltd. > B-121, Sector -5, Noida (NCR)-201301 > > |
|
From: Hickey, T. (INTERN) <Tre...@si...> - 2012-04-20 16:28:25
|
COMMENT Karen's Directory Printer v5.3.2 COMMENT © 1997, 1999-2002, 2004-2005, 2007-2008 by Karen Kenworthy, All Rights Reserved COMMENT http://www.karenware.com/ COMMENT COMMENT Lines beginning with "COMMENT" (like this one) contain comments or explanations. COMMENT They do not contain any information about particular files or folders. COMMENT COMMENT Lines beginning with "FILE" contain information about a Single File. COMMENT Here's the information found in those lines: COMMENT Attributes <TAB> File Name COMMENT COMMENT Lines beginning with "FOLDER" contain information about a Single Folder. COMMENT Here's the information found in those lines: COMMENT Full Name (Path+Folder) <TAB> Attributes <TAB> Number of Sub-Folders <TAB> Number of Files <TAB> Folder Size <TAB> Compressed Size COMMENT COMMENT Lines beginning with "TOTAL" contain information about a Folder, and all its Sub-Folders. COMMENT Here's the information found in those lines: COMMENT Full Name (Path+Folder) <TAB> Attributes <TAB> Number of Sub-Folders <TAB> Number of Files <TAB> Folder Size <TAB> Compressed Size COMMENT COMMENT Computer: XPTL00197 COMMENT User: hickeyex COMMENT Prepared: 09:17 4/20/2012 COMMENT Folder: C:\Documents and Settings\hickeyex\Desktop\CenturaDataCollectionProgramDeployment\CenturaDataCollectionProgram12\ COMMENT Include Sub-Folders? Yes COMMENT FOLDER C:\Documents and Settings\hickeyex\Desktop\CenturaDataCollectionProgramDeployment\CenturaDataCollectionProgram12\ ------- 6 11 6,605,719 6,605,719 FILE ---A---- Centura12_SVID_INITIALIZATION_FILE.txt FILE ---A---X CenturaDataCollectionProgram.bat FILE ---A---- CenturaDataCollectionProgram.jar FILE ---A---- Initialization.txt FILE ---A---X inSQLDataLoader.bat FILE ---A---X InstallCenturaDataCollectionProgram-NT.bat FILE ---A---X Run_Centura12.bat FILE ---A---X rxtxSerial.dll FILE ---A---- SECSMessages.log FILE ---A---X UninstallCenturaDataCollectionProgram-NT.bat FILE ---A---X wrapper.exe FOLDER C:\Documents and Settings\hickeyex\Desktop\CenturaDataCollectionProgramDeployment\CenturaDataCollectionProgram12\CenturaDataCollectionProgram\ ------- 6 18 2,426,845 2,426,845 FILE -------- CenturaDAQ.jar FILE -------X CenturaHost$ResponseWrapper.class FILE -------X CenturaHost.class FILE -------X EquipmentSpecs.class FILE -------X Host.class FILE -------- ini4j-0.5.2-SNAPSHOT.jar FILE -------- ini4j-0.5.2-SNAPSHOT-javadoc.jar FILE -------- ini4j-0.5.2-SNAPSHOT-jdk14.jar FILE -------- ini4j-0.5.2-SNAPSHOT-sources.jar FILE -------- log4j.properties FILE -------- log4j-1.2.11.jar FILE -------X Program.class FILE -------- RXTXcomm.jar FILE -------X SVIDstruct.class FILE -------X toolSVIDList.class FILE -------X TraceReceivedNotifier.class FILE -------- TransSECSRuntime.jar FILE -------- VIBRuntime.jar FOLDER C:\Documents and Settings\hickeyex\Desktop\CenturaDataCollectionProgramDeployment\CenturaDataCollectionProgram12\CenturaDataCollectionProgram\.svn\ ------- 1 2 2,727 2,727 FILE -------- all-wcprops FILE -------- entries FOLDER C:\Documents and Settings\hickeyex\Desktop\CenturaDataCollectionProgramDeployment\CenturaDataCollectionProgram12\CenturaDataCollectionProgram\.svn\text-base\ ------- 0 8 47,100 47,100 FILE -------- CenturaHost.java.svn-base FILE -------- EquipmentSpecs.java.svn-base FILE -------- Host.java.svn-base FILE -------- log4j.properties.svn-base FILE -------- Program.java.svn-base FILE -------- SVIDstruct.java.svn-base FILE -------- toolSVIDList.java.svn-base FILE -------- TraceReceivedNotifier.java.svn-base TOTAL C:\Documents and Settings\hickeyex\Desktop\CenturaDataCollectionProgramDeployment\CenturaDataCollectionProgram12\CenturaDataCollectionProgram\.svn\text-base\ ------- 0 8 47,100 47,100 TOTAL C:\Documents and Settings\hickeyex\Desktop\CenturaDataCollectionProgramDeployment\CenturaDataCollectionProgram12\CenturaDataCollectionProgram\.svn\ ------- 1 10 49,827 49,827 FOLDER C:\Documents and Settings\hickeyex\Desktop\CenturaDataCollectionProgramDeployment\CenturaDataCollectionProgram12\CenturaDataCollectionProgram\ant\ ------- 2 6 316,170 316,170 FILE -------- INSTALL FILE -------- KEYS FILE -------- LICENSE FILE -------- NOTICE FILE -------- README FILE -------- WHATSNEW FOLDER C:\Documents and Settings\hickeyex\Desktop\CenturaDataCollectionProgramDeployment\CenturaDataCollectionProgram12\CenturaDataCollectionProgram\ant\bin\ ------- 0 13 46,622 46,622 FILE -------- ant FILE -------X ant.bat FILE -------X ant.cmd FILE -------X antenv.cmd FILE -------- antRun FILE -------X antRun.bat FILE -------- antRun.pl FILE -------- complete-ant-cmd.pl FILE -------X envset.cmd FILE -------X lcp.bat FILE -------- runant.pl FILE -------- runant.py FILE -------X runrc.cmd TOTAL C:\Documents and Settings\hickeyex\Desktop\CenturaDataCollectionProgramDeployment\CenturaDataCollectionProgram12\CenturaDataCollectionProgram\ant\bin\ ------- 0 13 46,622 46,622 FOLDER C:\Documents and Settings\hickeyex\Desktop\CenturaDataCollectionProgramDeployment\CenturaDataCollectionProgram12\CenturaDataCollectionProgram\ant\lib\ ------- 0 50 3,197,646 3,197,646 FILE -------- ant.jar FILE -------- ant.pom FILE -------- ant-antlr.jar FILE -------- ant-antlr.pom FILE -------- ant-apache-bcel.jar FILE -------- ant-apache-bcel.pom FILE -------- ant-apache-bsf.jar FILE -------- ant-apache-bsf.pom FILE -------- ant-apache-log4j.jar FILE -------- ant-apache-log4j.pom FILE -------- ant-apache-oro.jar FILE -------- ant-apache-oro.pom FILE -------- ant-apache-regexp.jar FILE -------- ant-apache-regexp.pom FILE -------- ant-apache-resolver.jar FILE -------- ant-apache-resolver.pom FILE -------- ant-apache-xalan2.jar FILE -------- ant-apache-xalan2.pom FILE -------- ant-commons-logging.jar FILE -------- ant-commons-logging.pom FILE -------- ant-commons-net.jar FILE -------- ant-commons-net.pom FILE -------- ant-contrib-0.6.jar FILE -------- ant-jai.jar FILE -------- ant-jai.pom FILE -------- ant-javamail.jar FILE -------- ant-javamail.pom FILE -------- ant-jdepend.jar FILE -------- ant-jdepend.pom FILE -------- ant-jmf.jar FILE -------- ant-jmf.pom FILE -------- ant-jsch.jar FILE -------- ant-jsch.pom FILE -------- ant-junit.jar FILE -------- ant-junit.pom FILE -------- ant-junit4.jar FILE -------- ant-junit4.pom FILE -------- ant-launcher.jar FILE -------- ant-launcher.pom FILE -------- ant-netrexx.jar FILE -------- ant-netrexx.pom FILE -------- ant-parent.pom FILE -------- ant-swing.jar FILE -------- ant-swing.pom FILE -------- ant-testutil.jar FILE -------- ant-testutil.pom FILE -------- ErgoTechAntTasks.jar FILE -------- libraries.properties FILE -------- optional.jar FILE -------- README TOTAL C:\Documents and Settings\hickeyex\Desktop\CenturaDataCollectionProgramDeployment\CenturaDataCollectionProgram12\CenturaDataCollectionProgram\ant\lib\ ------- 0 50 3,197,646 3,197,646 TOTAL C:\Documents and Settings\hickeyex\Desktop\CenturaDataCollectionProgramDeployment\CenturaDataCollectionProgram12\CenturaDataCollectionProgram\ant\ ------- 2 69 3,560,438 3,560,438 FOLDER C:\Documents and Settings\hickeyex\Desktop\CenturaDataCollectionProgramDeployment\CenturaDataCollectionProgram12\CenturaDataCollectionProgram\com\ ------- 1 0 0 0 FOLDER C:\Documents and Settings\hickeyex\Desktop\CenturaDataCollectionProgramDeployment\CenturaDataCollectionProgram12\CenturaDataCollectionProgram\com\ergotech\ ------- 1 0 0 0 FOLDER C:\Documents and Settings\hickeyex\Desktop\CenturaDataCollectionProgramDeployment\CenturaDataCollectionProgram12\CenturaDataCollectionProgram\com\ergotech\projectmanager\ ------- 1 0 0 0 FOLDER C:\Documents and Settings\hickeyex\Desktop\CenturaDataCollectionProgramDeployment\CenturaDataCollectionProgram12\CenturaDataCollectionProgram\com\ergotech\projectmanager\targets\ ------- 0 3 512 512 FILE -------- MIX.properties FILE -------- MIX.trg FILE -------- MIXResource.properties TOTAL C:\Documents and Settings\hickeyex\Desktop\CenturaDataCollectionProgramDeployment\CenturaDataCollectionProgram12\CenturaDataCollectionProgram\com\ergotech\projectmanager\targets\ ------- 0 3 512 512 TOTAL C:\Documents and Settings\hickeyex\Desktop\CenturaDataCollectionProgramDeployment\CenturaDataCollectionProgram12\CenturaDataCollectionProgram\com\ergotech\projectmanager\ ------- 1 3 512 512 TOTAL C:\Documents and Settings\hickeyex\Desktop\CenturaDataCollectionProgramDeployment\CenturaDataCollectionProgram12\CenturaDataCollectionProgram\com\ergotech\ ------- 2 3 512 512 TOTAL C:\Documents and Settings\hickeyex\Desktop\CenturaDataCollectionProgramDeployment\CenturaDataCollectionProgram12\CenturaDataCollectionProgram\com\ ------- 3 3 512 512 FOLDER C:\Documents and Settings\hickeyex\Desktop\CenturaDataCollectionProgramDeployment\CenturaDataCollectionProgram12\CenturaDataCollectionProgram\lib\ ------- 0 3 969,082 969,082 FILE -------- hsviewer.jar FILE -------- jhall_2.02.jar FILE -------- jsyntaxpane-0.9.5B.jar TOTAL C:\Documents and Settings\hickeyex\Desktop\CenturaDataCollectionProgramDeployment\CenturaDataCollectionProgram12\CenturaDataCollectionProgram\lib\ ------- 0 3 969,082 969,082 FOLDER C:\Documents and Settings\hickeyex\Desktop\CenturaDataCollectionProgramDeployment\CenturaDataCollectionProgram12\CenturaDataCollectionProgram\META-INF\ ------- 0 1 366 366 FILE -------- MANIFEST.MF TOTAL C:\Documents and Settings\hickeyex\Desktop\CenturaDataCollectionProgramDeployment\CenturaDataCollectionProgram12\CenturaDataCollectionProgram\META-INF\ ------- 0 1 366 366 FOLDER C:\Documents and Settings\hickeyex\Desktop\CenturaDataCollectionProgramDeployment\CenturaDataCollectionProgram12\CenturaDataCollectionProgram\org\ ------- 1 0 0 0 FOLDER C:\Documents and Settings\hickeyex\Desktop\CenturaDataCollectionProgramDeployment\CenturaDataCollectionProgram12\CenturaDataCollectionProgram\org\eclipse\ ------- 1 0 0 0 FOLDER C:\Documents and Settings\hickeyex\Desktop\CenturaDataCollectionProgramDeployment\CenturaDataCollectionProgram12\CenturaDataCollectionProgram\org\eclipse\jdt\ ------- 1 0 0 0 FOLDER C:\Documents and Settings\hickeyex\Desktop\CenturaDataCollectionProgramDeployment\CenturaDataCollectionProgram12\CenturaDataCollectionProgram\org\eclipse\jdt\internal\ ------- 1 0 0 0 FOLDER C:\Documents and Settings\hickeyex\Desktop\CenturaDataCollectionProgramDeployment\CenturaDataCollectionProgram12\CenturaDataCollectionProgram\org\eclipse\jdt\internal\jarinjarloader\ ------- 0 6 10,922 10,922 FILE -------X JarRsrcLoader$ManifestInfo.class FILE -------X JarRsrcLoader.class FILE -------X JIJConstants.class FILE -------X RsrcURLConnection.class FILE -------X RsrcURLStreamHandler.class FILE -------X RsrcURLStreamHandlerFactory.class TOTAL C:\Documents and Settings\hickeyex\Desktop\CenturaDataCollectionProgramDeployment\CenturaDataCollectionProgram12\CenturaDataCollectionProgram\org\eclipse\jdt\internal\jarinjarloader\ ------- 0 6 10,922 10,922 TOTAL C:\Documents and Settings\hickeyex\Desktop\CenturaDataCollectionProgramDeployment\CenturaDataCollectionProgram12\CenturaDataCollectionProgram\org\eclipse\jdt\internal\ ------- 1 6 10,922 10,922 TOTAL C:\Documents and Settings\hickeyex\Desktop\CenturaDataCollectionProgramDeployment\CenturaDataCollectionProgram12\CenturaDataCollectionProgram\org\eclipse\jdt\ ------- 2 6 10,922 10,922 TOTAL C:\Documents and Settings\hickeyex\Desktop\CenturaDataCollectionProgramDeployment\CenturaDataCollectionProgram12\CenturaDataCollectionProgram\org\eclipse\ ------- 3 6 10,922 10,922 TOTAL C:\Documents and Settings\hickeyex\Desktop\CenturaDataCollectionProgramDeployment\CenturaDataCollectionProgram12\CenturaDataCollectionProgram\org\ ------- 4 6 10,922 10,922 TOTAL C:\Documents and Settings\hickeyex\Desktop\CenturaDataCollectionProgramDeployment\CenturaDataCollectionProgram12\CenturaDataCollectionProgram\ ------- 16 110 7,017,992 7,017,992 FOLDER C:\Documents and Settings\hickeyex\Desktop\CenturaDataCollectionProgramDeployment\CenturaDataCollectionProgram12\conf\ ------- 0 1 8,725 8,725 FILE ---A---- wrapper.conf TOTAL C:\Documents and Settings\hickeyex\Desktop\CenturaDataCollectionProgramDeployment\CenturaDataCollectionProgram12\conf\ ------- 0 1 8,725 8,725 FOLDER C:\Documents and Settings\hickeyex\Desktop\CenturaDataCollectionProgramDeployment\CenturaDataCollectionProgram12\lib\ ------- 0 2 370,522 370,522 FILE ---A---X wrapper.dll FILE ---A---- wrapper.jar TOTAL C:\Documents and Settings\hickeyex\Desktop\CenturaDataCollectionProgramDeployment\CenturaDataCollectionProgram12\lib\ ------- 0 2 370,522 370,522 FOLDER C:\Documents and Settings\hickeyex\Desktop\CenturaDataCollectionProgramDeployment\CenturaDataCollectionProgram12\logs\ ------- 0 1 68,624 68,624 FILE ---A---- wrapper.log TOTAL C:\Documents and Settings\hickeyex\Desktop\CenturaDataCollectionProgramDeployment\CenturaDataCollectionProgram12\logs\ ------- 0 1 68,624 68,624 FOLDER C:\Documents and Settings\hickeyex\Desktop\CenturaDataCollectionProgramDeployment\CenturaDataCollectionProgram12\Main Trace\ ------- 0 1 88,892 88,892 FILE ---A---- TRACE_10.LOG TOTAL C:\Documents and Settings\hickeyex\Desktop\CenturaDataCollectionProgramDeployment\CenturaDataCollectionProgram12\Main Trace\ ------- 0 1 88,892 88,892 FOLDER C:\Documents and Settings\hickeyex\Desktop\CenturaDataCollectionProgramDeployment\CenturaDataCollectionProgram12\Secondary Trace\ ------- 0 1 42,521 42,521 FILE ---A---- TRACE_10.LOG TOTAL C:\Documents and Settings\hickeyex\Desktop\CenturaDataCollectionProgramDeployment\CenturaDataCollectionProgram12\Secondary Trace\ ------- 0 1 42,521 42,521 TOTAL C:\Documents and Settings\hickeyex\Desktop\CenturaDataCollectionProgramDeployment\CenturaDataCollectionProgram12\ ------- 22 127 14,202,995 14,202,995 |
|
From: Hickey, T. (INTERN) <Tre...@si...> - 2012-04-20 15:42:58
|
I also read somewhere on the Java Service Wrapper website that their is not support for runnable JARs. http://wrapper.tanukisoftware.com/doc/english/faq.html#2 My Runnable JAR includes about 7 other JAR files its dependent on. Will I have to include a reference to everyone of them? Sincerely, Trever Hickey ________________________________ From: Christian Mueller [mailto:chr...@ta...] Sent: Thursday, April 19, 2012 8:50 PM To: wra...@li... Subject: Re: [Wrapper-user] FW: Advice on configuring the Java Service Wrapper for I/O heavy application Hello Trever, A java.lang.ClassNotFoundException means that the JVM didn't find the wrapper.jar file on the class path. could you please verify that the jar file is added correctly to the class path? >From your first mail, I can see that you have the following setting: wrapper.java.classpath.2=../lib/wrapper.jar Furthermore, you need to add your jar file also to the classpath: wrapper.java.classpath.3=./CenturaDataCollectionProgram.jar Lastly, the name of your main class is commented out: #wrapper.app.parameter.1=CenturaDataCollectionProgram.Program If that's the correct name of your main class, please remove the comments. Hope this information helps you out. Cheers, Christian On Fri, Apr 20, 2012 at 1:45 AM, Hickey, Trever (INTERN) <Tre...@si...<mailto:Tre...@si...>> wrote: Hello again, I tried your solution about removing the line, and instead I got this error, STATUS | wrapper | 2012/04/19 09:41:19 | Launching a JVM... INFO | jvm 5 | 2012/04/19 09:41:19 | java.lang.NoClassDefFoundError: org/tanukisoftware/wrapper/test/WrapperSimpleApp INFO | jvm 5 | 2012/04/19 09:41:19 | Caused by: java.lang.ClassNotFoundException: org.tanukisoftware.wrapper.test.WrapperSimpleApp INFO | jvm 5 | 2012/04/19 09:41:19 | at java.net.URLClassLoader$1.run(Unknown Source) INFO | jvm 5 | 2012/04/19 09:41:19 | at java.security.AccessController.doPrivileged(Native Method) INFO | jvm 5 | 2012/04/19 09:41:19 | at java.net.URLClassLoader.findClass(Unknown Source) INFO | jvm 5 | 2012/04/19 09:41:19 | at java.lang.ClassLoader.loadClass(Unknown Source) INFO | jvm 5 | 2012/04/19 09:41:19 | at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) INFO | jvm 5 | 2012/04/19 09:41:19 | at java.lang.ClassLoader.loadClass(Unknown Source) INFO | jvm 5 | 2012/04/19 09:41:19 | Could not find the main class: org.tanukisoftware.wrapper.test.WrapperSimpleApp. Program will exit. ERROR | wrapper | 2012/04/19 09:41:19 | JVM exited while loading the application. FATAL | wrapper | 2012/04/19 09:41:19 | There were 5 failed launches in a row, each lasting less than 300 seconds. Giving up. FATAL | wrapper | 2012/04/19 09:41:19 | There may be a configuration problem: please check the logs. STATUS | wrapper | 2012/04/19 09:41:19 | <-- Wrapper Stopped Now it seems like the program is not recognizing my program at all. My program is stored in an executable JAR file, so wouldn't I need this line wrapper.java.additional.2= -jar "./CenturaDataCollectionProgram.jar" to execute my program? Sincerely, Trever Hickey ________________________________ From: Christian Mueller [mailto:chr...@ta...<mailto:chr...@ta...>] Sent: Thursday, April 12, 2012 1:42 AM To: wra...@li...<mailto:wra...@li...> Subject: Re: [Wrapper-user] FW: Advice on configuring the Java Service Wrapper for I/O heavy application Hello Trever, thank you for your mail. The reason, your JVM stops after 30 seconds is basically because of a small misconfiguration. Please get rid of the following line in your conf file: wrapper.java.additional.2= -jar "./CenturaDataCollectionProgram.jar" Actually, with this line you kind of intercept the logic of how the JVM will interpret the command line.... Hope this helps you out. Best Regards, Christian On Thu, Apr 12, 2012 at 4:27 AM, Hickey, Trever (INTERN) <Tre...@si...<mailto:Tre...@si...>> wrote: Hi, This is my first time trying to post here, so here it goes. I am trying to turn my Java Application into a Windows service using Simple Server App class. I am using Java Service Wrapper Community Edition 32-bit 3.5.14 Copyright (C) 1999-2011 Tanuki Software, Ltd. All Rights Reserved. http://wrapper.tanukisoftware.com on Windows XP SP 3. I have also included my log file and conf file. The errors I think it most likely relates to are ERROR | wrapper | 2012/04/11 11:37:40 | Startup failed: Timed out waiting for a signal from the JVM. ADVICE | wrapper | 2012/04/11 11:37:40 | ADVICE | wrapper | 2012/04/11 11:37:40 | ------------------------------------------------------------------------ ADVICE | wrapper | 2012/04/11 11:37:40 | Advice: ADVICE | wrapper | 2012/04/11 11:37:40 | The Wrapper consists of a native component as well as a set of classes ADVICE | wrapper | 2012/04/11 11:37:40 | which run within the JVM that it launches. The Java component of the ADVICE | wrapper | 2012/04/11 11:37:40 | Wrapper must be initialized promptly after the JVM is launched or the ADVICE | wrapper | 2012/04/11 11:37:40 | Wrapper will timeout, as just happened. Most likely the main class ADVICE | wrapper | 2012/04/11 11:37:40 | specified in the Wrapper configuration file is not correctly initializing ADVICE | wrapper | 2012/04/11 11:37:40 | the Wrapper classes: ADVICE | wrapper | 2012/04/11 11:37:40 | org.tanukisoftware.wrapper.test.WrapperSimpleApp ADVICE | wrapper | 2012/04/11 11:37:40 | While it is possible to do so manually, the Wrapper ships with helper ADVICE | wrapper | 2012/04/11 11:37:40 | classes to make this initialization processes automatic. ADVICE | wrapper | 2012/04/11 11:37:40 | Please review the integration section of the Wrapper's documentation ADVICE | wrapper | 2012/04/11 11:37:40 | for the various methods which can be employed to launch an application ADVICE | wrapper | 2012/04/11 11:37:40 | within the Wrapper: ADVICE | wrapper | 2012/04/11 11:37:40 | http://wrapper.tanukisoftware.com/doc/english/integrate.html ADVICE | wrapper | 2012/04/11 11:37:40 | ------------------------------------------------------------------------ ADVICE | wrapper | 2012/04/11 11:37:40 | So far it looks like my application starts correctly, but terminates after about 30 seconds when it then opens a new JVM and repeats for 4 more times. I believe this might be one of two issues. One my application stays constantly within my main method and doesn't exit out. I think there are a couple of parameters that can be set to handle this, but I haven't had much luck. Second idea is my application is very I/O heavy. My program is constantly collecting data from a tool [using a special communication protocol] and writing it to a log file. Could the JVM be timing out because of the heavy I/O and if so, is their a way around this so my program can still be a Windows Service? If anyone has any advice for handling this type of error I would appreciate it. Thank you, Trever This communication and any files or attachments transmitted with it may contain information that is copyrighted or confidential and exempt from disclosure under applicable law. It is intended solely for the use of the individual or the entity to which it is addressed. If you are not the intended recipient, you are hereby notified that any use, dissemination, or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us at once so that we may take the appropriate action and avoid troubling you further. Thank you for your cooperation. Please contact your local IT staff or email in...@si...<mailto:in...@si...?subject=Disclaimer> if you need assistance. ------------------------------------------------------------------------------ For Developers, A Lot Can Happen In A Second. Boundary is the first to Know...and Tell You. Monitor Your Applications in Ultra-Fine Resolution. Try it FREE! http://p.sf.net/sfu/Boundary-d2dvs2 _______________________________________________ Wrapper-user mailing list Wra...@li...<mailto:Wra...@li...> https://lists.sourceforge.net/lists/listinfo/wrapper-user This communication and any files or attachments transmitted with it may contain information that is copyrighted or confidential and exempt from disclosure under applicable law. It is intended solely for the use of the individual or the entity to which it is addressed. If you are not the intended recipient, you are hereby notified that any use, dissemination, or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us at once so that we may take the appropriate action and avoid troubling you further. Thank you for your cooperation. Please contact your local IT staff or email in...@si...<mailto:in...@si...>if you need assistance. ------------------------------------------------------------------------------ For Developers, A Lot Can Happen In A Second. Boundary is the first to Know...and Tell You. Monitor Your Applications in Ultra-Fine Resolution. Try it FREE! http://p.sf.net/sfu/Boundary-d2dvs2 _______________________________________________ Wrapper-user mailing list Wra...@li...<mailto:Wra...@li...> https://lists.sourceforge.net/lists/listinfo/wrapper-user This communication and any files or attachments transmitted with it may contain information that is copyrighted or confidential and exempt from disclosure under applicable law. It is intended solely for the use of the individual or the entity to which it is addressed. If you are not the intended recipient, you are hereby notified that any use, dissemination, or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us at once so that we may take the appropriate action and avoid troubling you further. Thank you for your cooperation. Please contact your local IT staff or email in...@si... if you need assistance. |
|
From: jeroen v. <jvr...@gm...> - 2012-04-20 14:39:33
|
Well, i did some more research, and have some more indepth information I'm not bringing down the node itself, I rather simulate a failure of the disk, which the wrapper application depends on. After some research in the cluster logs(which made me realise some in depth clustermechanisms i didn't know), i filtered out this related information for you. [RCM] TransitionToState(Disk J:\) ProcessingFailure-->[WaitingToTerminate to DelayRestartingResource]. [RCM] rcm::RcmGroup::UpdateStateIfChanged: (Java Service Group, PartialOnline --> Pending) [RCM] TransitionToState(wrapper Application) Online-->[WaitingToTerminate to OnlineCallIssued]. [RCM] TransitionToState(wrapper Application) [WaitingToTerminate to OnlineCallIssued]-->[Terminating to OnlineCallIssued]. [RCM] HandleMonitorReply: TERMINATERESOURCE for 'wrapper Application', gen(16) result 0. [RCM] Restarting resource 'wrapper Application'. seems like the cluster does try to terminate the wrapper-application, but i know for a fact(I can see that the proces of the java-application keeps running in task manager), that he doesn't succeed in doing this. After that the disk comes back online, the generic application is brought back online. The cluster actually now makes a second JVM. And well, these are running the exact same application, so the generic application(second JVM) fails again. After he does the failover to the other node, everything works again and he can bring up teh generic application. but what is happening now? the original proces is still running on the other node. So i have the same proces running on both nodes, and the cluster isn't aware of this. Now I have made myself a fix, by just killing any left over Java-processes when i do a failover. I have to mention, that running the same application as windows service fixes this problem. seems like the cluster is communicating differntly with the generic application RCM] TransitionToState(Disk J:\) ProcessingFailure-->[WaitingToTerminate to DelayRestartingResource]. [RCM] rcm::RcmGroup::UpdateStateIfChanged: (Java Service Group, PartialOnline --> Pending) [RCM] TransitionToState(H2) Online-->[WaitingToTerminate to OnlineCallIssued]. [RCM] TransitionToState(H2) [WaitingToTerminate to OnlineCallIssued]-->[Terminating to OnlineCallIssued]. [RES] Generic Service <H2>: Terminate request. [RCM] TransitionToState(FileServer-(testjp)(Disk J:\)) Online-->[WaitingToTerminate to OnlineCallIssued]. [RES] Generic Service <H2>: GenSvcTerminate : calling SCM (didStop=0) [RES] Generic Service <H2>: GenSvcTerminate: retrying... [RES] Generic Service <H2>: GenSvcTerminate : calling SCM (didStop=1) [RES] Generic Service <H2>: GenSvcTerminate: retrying... [RES] Generic Service <H2>: GenSvcTerminate : calling SCM (didStop=1) [RES] Generic Service <H2>: GenSvcTerminate: retrying... [RES] Generic Service <H2>: GenSvcTerminate : calling SCM (didStop=1) [RES] Generic Service <H2>: GenSvcTerminate: retrying... [RES] Generic Service <H2>: GenSvcTerminate : calling SCM (didStop=1) [RES] Generic Service <H2>: GenSvcTerminate: retrying... [RES] Generic Service <H2>: GenSvcTerminate : calling SCM (didStop=1) [RES] Generic Service <H2>: GenSvcTerminate: retrying... [RES] Generic Service <H2>: GenSvcTerminate : calling SCM (didStop=1) [RES] Generic Service <H2>: Service died; status = 1062. [RCM] HandleMonitorReply: TERMINATERESOURCE for 'H2', gen(0) result 0. [RCM] Restarting resource 'H2'. the resource checking the service control manager, if the windows service is really offline does work well in this case. So in the new environment, we will probably go for running the applications als services, and on top of that running the powershell script with taskscheduler on the server to kill all remaining java processes after a failover. I do want to know what goes wrong with the Wrapper Application though ^^. seems like a misscommunication between cluster and wrapper. Just giving you some feedback on what i'm thinking here. greetings jeroen On 20 April 2012 10:04, Christian Mueller < chr...@ta...> wrote: > Hello Jeroen, > > I'm very sorry for the delay. > > How are you bringing down the node? > If I understand how you bring it down or what you mean by "bringing the > resource offline", I will probably able to tell you more. > > Best Regards, > > Christian > > > > > On Tue, Apr 17, 2012 at 6:35 PM, jeroen vranckx <jvr...@gm...>wrote: > >> >> Thanks for the information christian, >> >> I have another question regarding using the wrapper to run a java proces >> as console application on a windows cluster. The application is brought >> online quit neatly, and I can see in the log that the JVM is started >> succesfully. Now, if I bring the resource offline, i however won't see the >> JVM shutting down in the logs. >> >> I would like to see this if possible. >> Is this a problem with the cluster not interacting t-with the java >> service wrapper? >> Am I using a wrong implementation-possibility? using wrappersimpleApp at >> the moment. >> >> Are there other possilities to check if there are JVM still running on >> the machine? So by not using the wrapper? >> >> The thing is, that I'm having some issues concerning java-processes who >> don't get shut down. So this means that a proces will keep running on one >> node(even though the cluster itself says that the service is failed), and >> will start up on the other node. Which means that the same proces is >> running on both node. which is a disaster ^^. >> >> Hope you can help >> >> jeroen Vranckx >> >> On 6 April 2012 07:31, Christian Mueller < >> chr...@ta...> wrote: >> >>> Hello Jeroen, >>> >>> I don't think you are able to start the service by issuing "wrapper.exe >>> -s ..\conf\wrapper.conf" from console or any user session. >>> >>> When running the Wrapper with -t, it tells the Service Control Manager, >>> to start the service. Using the API call StartService: >>> >>> http://msdn.microsoft.com/en-us/library/windows/desktop/ms686321%28v=vs.85%29.aspx >>> >>> For instance, if you call, net start {service}, it will also call >>> StartService quite like the Wrapper when run as wrapper -t >>> >>> With the StartService call, the service manager will start then the >>> service command (wrapper -s) and waits for the process to start the control >>> dispatcher and connect to the service control manager. This is being done >>> in the service process by calling StartServiceCtrlDispatcher. >>> >>> http://msdn.microsoft.com/en-us/library/windows/desktop/ms686324%28v=vs.85%29.aspx >>> Therefore, running bin\wrapper -s, from console without the service >>> manager waiting for a connection, will ultimately cause a failure. >>> >>> That mechanism is a bit similar for instance to the TCP handshake. >>> >>> Hope this helps you out. >>> >>> Cheers, >>> Christian >>> >>> >>> On Wed, Apr 4, 2012 at 6:57 PM, jeroen vranckx <jvr...@gm...>wrote: >>> >>>> hey christian, >>>> >>>> If I look at the created windows service that I made by using the >>>> wrapper.exe -i wrapper.conf option, when i look at the path to the >>>> executable it says X:\Foo\Bar\app\bin\wrapper.exe -s >>>> X:\Foo\Bar\app\conf\wrapper.conf. >>>> >>>> Now, I have the possibility when i create a generic application(for >>>> clusterunaware services), to just specify the service that i want to make >>>> generic. I have the possibility to give the generic service a specific >>>> startup command, so I could definatly use the -t method if nesecairy. >>>> If I run it, it works perfectly fine without the us of the -t >>>> parameter(it will probably use the -s parameter by default). What does the >>>> -t parameter do actually? >>>> What's the difference if i run it with -s or --t? >>>> >>>> Indeed it says on the website(just as you say), that you need to call >>>> the -t parameter for a service, but the -s parameter(that is default when >>>> you install by the -i parameter) kinda confused me. >>>> >>>> Looking forward to your replye, and tnx in advance >>>> >>>> greetings, >>>> Jeroen Vranckx >>>> >>>> >>>> On 4 April 2012 07:10, Christian Mueller < >>>> chr...@ta...> wrote: >>>> >>>>> Hello, >>>>> >>>>> the parameter '-s' should not be called by the user but the service >>>>> manager in order to control the wrapper as service. >>>>> >>>>> when you want to start the installed service from console or script, >>>>> please run: >>>>> X:\Foo\Bar\app\bin\wrapper.exe -t X:\Foo\Bar\app\conf\wrapper.conf >>>>> >>>>> for all available parameters, please run bin\wrapper -? >>>>> >>>>> The wrapper.internal.namedpipe property is for internal use only and >>>>> shouldn't be set. >>>>> Actually it is only being used during installation and actually I >>>>> think it's redundant to have it on the servicemanager command. >>>>> When you interact with a service, administrator privileges are >>>>> required. However starting with the introduction of UAC in Windows Vista, >>>>> an Administrator account also needs to elevate a process to run under high >>>>> security context. The Wrapper will check if it runs already elevated and >>>>> if not, it will pop-up the elevation dialog, requesting the elevation. This >>>>> will actually spawn an elevated process, which will do the required task. >>>>> The IPC of the elevated process and the original process is done via a >>>>> named pipe the original process allocates. The name of the named pipe is >>>>> random, so that's why you see two different names. Using random names makes >>>>> it possible to interact with multiple services simultaneously without >>>>> clashing. To tell the elevated process at which pipe the original wrapper >>>>> process is waiting for, the wrapper.internal.namedpipe is being defined. >>>>> The elevated process then redirects stdin/stdout/stderr to the pipes >>>>> and because by default stdin/stdout/stderr is buffered to save some >>>>> performance, but in this case it will cause some timing issues and since >>>>> the install/remove/start/stop actions are only running for a rather short >>>>> time, performance doesn't matter that much. >>>>> >>>>> Hope this answers all your questions. >>>>> >>>>> Please let me know if you need any further information. >>>>> >>>>> Thank you, >>>>> >>>>> Christian >>>>> >>>>> On Tue, Apr 3, 2012 at 5:43 PM, jeroen vranckx <jvr...@gm... >>>>> > wrote: >>>>> >>>>>> Just figured out something ^^ >>>>>> Seems like the wrapper.console.flush param and namedpipe param are a >>>>>> indirect consequence of installing the service when you don't use >>>>>> administrator params in cmd. >>>>>> So if you're doing something like clustering, this will definatly >>>>>> mess things up. >>>>>> >>>>>> Fixed this issue, and not having issues anymore. >>>>>> Scripted the wrapper.exe -i option in windows powershell, and managed >>>>>> to get the service running now. I'll be integrating it with the automatic >>>>>> generation of the windows service as a generic service in the cluster. >>>>>> >>>>>> I still would like to know what those param do, as they do seem to be >>>>>> wrapperrelated >>>>>> >>>>>> >>>>>> On 3 April 2012 10:03, jeroen vranckx <jvr...@gm...> wrote: >>>>>> >>>>>>> Well, to keep you guys updated on my progress. >>>>>>> >>>>>>> I managed to get the fix the logging off problem by using the >>>>>>> ignore_user_logoffs=TRUE option. Seems to do the trick, but I'm checking >>>>>>> out the other method to where I use the application as Windows Service too. >>>>>>> I managed to get that working too. Now when i go check out the >>>>>>> service that is installed on both nodes(well on the windows server cluster, >>>>>>> you need to install the service on both nodes locally), i can see that >>>>>>> the path to the executable is something like this: >>>>>>> >>>>>>> X:\Foo\Bar\app\bin\wrapper.exe -s X:\Foo\Bar\app\conf\wrapper.conf >>>>>>> wrapper.console.flush=true wrapper.internal.namedpipe=0643816939 >>>>>>> The named pipe is different on both servers >>>>>>> >>>>>>> What does the wrapper.console.flush parameter do? And the namedpipe >>>>>>> is dependant on the wrapper? >>>>>>> Reason why I am asking this, is because I'm probably gonna need to >>>>>>> script some managementtools. Already tried to script something in >>>>>>> powershell, where i kept everything like that, but took a random number for >>>>>>> the namedpip(kept the number of digits though). >>>>>>> >>>>>>> The service did get created, but it didn't start up. So Im' >>>>>>> woundering if i need to consider some stuff, when creating the windows >>>>>>> service myself in powershell instead of using the wrapper.exe -i method in >>>>>>> cmd. >>>>>>> >>>>>>> thanks in advance >>>>>>> >>>>>>> jeroen Vranckx >>>>>>> >>>>>>> >>>>>>> >>>>>>> On 28 March 2012 09:10, Christian Mueller < >>>>>>> chr...@ta...> wrote: >>>>>>> >>>>>>>> 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 >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> ------------------------------------------------------------------------------ >>>>>>>> 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 >>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> ------------------------------------------------------------------------------ >>>>>> Better than sec? Nothing is better than sec when it comes to >>>>>> monitoring Big Data applications. Try Boundary one-second >>>>>> resolution app monitoring today. Free. >>>>>> http://p.sf.net/sfu/Boundary-dev2dev >>>>>> >>>>>> _______________________________________________ >>>>>> Wrapper-user mailing list >>>>>> Wra...@li... >>>>>> https://lists.sourceforge.net/lists/listinfo/wrapper-user >>>>>> >>>>>> >>>>> >>>>> >>>>> ------------------------------------------------------------------------------ >>>>> Better than sec? Nothing is better than sec when it comes to >>>>> monitoring Big Data applications. Try Boundary one-second >>>>> resolution app monitoring today. Free. >>>>> http://p.sf.net/sfu/Boundary-dev2dev >>>>> _______________________________________________ >>>>> Wrapper-user mailing list >>>>> Wra...@li... >>>>> https://lists.sourceforge.net/lists/listinfo/wrapper-user >>>>> >>>>> >>>> >>>> >>>> ------------------------------------------------------------------------------ >>>> Better than sec? Nothing is better than sec when it comes to >>>> monitoring Big Data applications. Try Boundary one-second >>>> resolution app monitoring today. Free. >>>> http://p.sf.net/sfu/Boundary-dev2dev >>>> _______________________________________________ >>>> Wrapper-user mailing list >>>> Wra...@li... >>>> https://lists.sourceforge.net/lists/listinfo/wrapper-user >>>> >>>> >>> >>> >>> ------------------------------------------------------------------------------ >>> For Developers, A Lot Can Happen In A Second. >>> Boundary is the first to Know...and Tell You. >>> Monitor Your Applications in Ultra-Fine Resolution. Try it FREE! >>> http://p.sf.net/sfu/Boundary-d2dvs2 >>> >>> _______________________________________________ >>> Wrapper-user mailing list >>> Wra...@li... >>> https://lists.sourceforge.net/lists/listinfo/wrapper-user >>> >>> >> >> >> ------------------------------------------------------------------------------ >> Better than sec? Nothing is better than sec when it comes to >> monitoring Big Data applications. Try Boundary one-second >> resolution app monitoring today. Free. >> http://p.sf.net/sfu/Boundary-dev2dev >> _______________________________________________ >> Wrapper-user mailing list >> Wra...@li... >> https://lists.sourceforge.net/lists/listinfo/wrapper-user >> >> > > > ------------------------------------------------------------------------------ > For Developers, A Lot Can Happen In A Second. > Boundary is the first to Know...and Tell You. > Monitor Your Applications in Ultra-Fine Resolution. Try it FREE! > http://p.sf.net/sfu/Boundary-d2dvs2 > _______________________________________________ > Wrapper-user mailing list > Wra...@li... > https://lists.sourceforge.net/lists/listinfo/wrapper-user > > |
|
From: Christian M. <chr...@ta...> - 2012-04-20 08:05:11
|
Hello Jeroen, I'm very sorry for the delay. How are you bringing down the node? If I understand how you bring it down or what you mean by "bringing the resource offline", I will probably able to tell you more. Best Regards, Christian On Tue, Apr 17, 2012 at 6:35 PM, jeroen vranckx <jvr...@gm...>wrote: > > Thanks for the information christian, > > I have another question regarding using the wrapper to run a java proces > as console application on a windows cluster. The application is brought > online quit neatly, and I can see in the log that the JVM is started > succesfully. Now, if I bring the resource offline, i however won't see the > JVM shutting down in the logs. > > I would like to see this if possible. > Is this a problem with the cluster not interacting t-with the java service > wrapper? > Am I using a wrong implementation-possibility? using wrappersimpleApp at > the moment. > > Are there other possilities to check if there are JVM still running on the > machine? So by not using the wrapper? > > The thing is, that I'm having some issues concerning java-processes who > don't get shut down. So this means that a proces will keep running on one > node(even though the cluster itself says that the service is failed), and > will start up on the other node. Which means that the same proces is > running on both node. which is a disaster ^^. > > Hope you can help > > jeroen Vranckx > > On 6 April 2012 07:31, Christian Mueller < > chr...@ta...> wrote: > >> Hello Jeroen, >> >> I don't think you are able to start the service by issuing "wrapper.exe >> -s ..\conf\wrapper.conf" from console or any user session. >> >> When running the Wrapper with -t, it tells the Service Control Manager, >> to start the service. Using the API call StartService: >> >> http://msdn.microsoft.com/en-us/library/windows/desktop/ms686321%28v=vs.85%29.aspx >> >> For instance, if you call, net start {service}, it will also call >> StartService quite like the Wrapper when run as wrapper -t >> >> With the StartService call, the service manager will start then the >> service command (wrapper -s) and waits for the process to start the control >> dispatcher and connect to the service control manager. This is being done >> in the service process by calling StartServiceCtrlDispatcher. >> >> http://msdn.microsoft.com/en-us/library/windows/desktop/ms686324%28v=vs.85%29.aspx >> Therefore, running bin\wrapper -s, from console without the service >> manager waiting for a connection, will ultimately cause a failure. >> >> That mechanism is a bit similar for instance to the TCP handshake. >> >> Hope this helps you out. >> >> Cheers, >> Christian >> >> >> On Wed, Apr 4, 2012 at 6:57 PM, jeroen vranckx <jvr...@gm...>wrote: >> >>> hey christian, >>> >>> If I look at the created windows service that I made by using the >>> wrapper.exe -i wrapper.conf option, when i look at the path to the >>> executable it says X:\Foo\Bar\app\bin\wrapper.exe -s >>> X:\Foo\Bar\app\conf\wrapper.conf. >>> >>> Now, I have the possibility when i create a generic application(for >>> clusterunaware services), to just specify the service that i want to make >>> generic. I have the possibility to give the generic service a specific >>> startup command, so I could definatly use the -t method if nesecairy. >>> If I run it, it works perfectly fine without the us of the -t >>> parameter(it will probably use the -s parameter by default). What does the >>> -t parameter do actually? >>> What's the difference if i run it with -s or --t? >>> >>> Indeed it says on the website(just as you say), that you need to call >>> the -t parameter for a service, but the -s parameter(that is default when >>> you install by the -i parameter) kinda confused me. >>> >>> Looking forward to your replye, and tnx in advance >>> >>> greetings, >>> Jeroen Vranckx >>> >>> >>> On 4 April 2012 07:10, Christian Mueller < >>> chr...@ta...> wrote: >>> >>>> Hello, >>>> >>>> the parameter '-s' should not be called by the user but the service >>>> manager in order to control the wrapper as service. >>>> >>>> when you want to start the installed service from console or script, >>>> please run: >>>> X:\Foo\Bar\app\bin\wrapper.exe -t X:\Foo\Bar\app\conf\wrapper.conf >>>> >>>> for all available parameters, please run bin\wrapper -? >>>> >>>> The wrapper.internal.namedpipe property is for internal use only and >>>> shouldn't be set. >>>> Actually it is only being used during installation and actually I think >>>> it's redundant to have it on the servicemanager command. >>>> When you interact with a service, administrator privileges are >>>> required. However starting with the introduction of UAC in Windows Vista, >>>> an Administrator account also needs to elevate a process to run under high >>>> security context. The Wrapper will check if it runs already elevated and >>>> if not, it will pop-up the elevation dialog, requesting the elevation. This >>>> will actually spawn an elevated process, which will do the required task. >>>> The IPC of the elevated process and the original process is done via a >>>> named pipe the original process allocates. The name of the named pipe is >>>> random, so that's why you see two different names. Using random names makes >>>> it possible to interact with multiple services simultaneously without >>>> clashing. To tell the elevated process at which pipe the original wrapper >>>> process is waiting for, the wrapper.internal.namedpipe is being defined. >>>> The elevated process then redirects stdin/stdout/stderr to the pipes >>>> and because by default stdin/stdout/stderr is buffered to save some >>>> performance, but in this case it will cause some timing issues and since >>>> the install/remove/start/stop actions are only running for a rather short >>>> time, performance doesn't matter that much. >>>> >>>> Hope this answers all your questions. >>>> >>>> Please let me know if you need any further information. >>>> >>>> Thank you, >>>> >>>> Christian >>>> >>>> On Tue, Apr 3, 2012 at 5:43 PM, jeroen vranckx <jvr...@gm...>wrote: >>>> >>>>> Just figured out something ^^ >>>>> Seems like the wrapper.console.flush param and namedpipe param are a >>>>> indirect consequence of installing the service when you don't use >>>>> administrator params in cmd. >>>>> So if you're doing something like clustering, this will definatly mess >>>>> things up. >>>>> >>>>> Fixed this issue, and not having issues anymore. >>>>> Scripted the wrapper.exe -i option in windows powershell, and managed >>>>> to get the service running now. I'll be integrating it with the automatic >>>>> generation of the windows service as a generic service in the cluster. >>>>> >>>>> I still would like to know what those param do, as they do seem to be >>>>> wrapperrelated >>>>> >>>>> >>>>> On 3 April 2012 10:03, jeroen vranckx <jvr...@gm...> wrote: >>>>> >>>>>> Well, to keep you guys updated on my progress. >>>>>> >>>>>> I managed to get the fix the logging off problem by using the >>>>>> ignore_user_logoffs=TRUE option. Seems to do the trick, but I'm checking >>>>>> out the other method to where I use the application as Windows Service too. >>>>>> I managed to get that working too. Now when i go check out the >>>>>> service that is installed on both nodes(well on the windows server cluster, >>>>>> you need to install the service on both nodes locally), i can see that >>>>>> the path to the executable is something like this: >>>>>> >>>>>> X:\Foo\Bar\app\bin\wrapper.exe -s X:\Foo\Bar\app\conf\wrapper.conf >>>>>> wrapper.console.flush=true wrapper.internal.namedpipe=0643816939 >>>>>> The named pipe is different on both servers >>>>>> >>>>>> What does the wrapper.console.flush parameter do? And the namedpipe >>>>>> is dependant on the wrapper? >>>>>> Reason why I am asking this, is because I'm probably gonna need to >>>>>> script some managementtools. Already tried to script something in >>>>>> powershell, where i kept everything like that, but took a random number for >>>>>> the namedpip(kept the number of digits though). >>>>>> >>>>>> The service did get created, but it didn't start up. So Im' >>>>>> woundering if i need to consider some stuff, when creating the windows >>>>>> service myself in powershell instead of using the wrapper.exe -i method in >>>>>> cmd. >>>>>> >>>>>> thanks in advance >>>>>> >>>>>> jeroen Vranckx >>>>>> >>>>>> >>>>>> >>>>>> On 28 March 2012 09:10, Christian Mueller < >>>>>> chr...@ta...> wrote: >>>>>> >>>>>>> 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 >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> ------------------------------------------------------------------------------ >>>>>>> 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 >>>>>>> >>>>>>> >>>>>> >>>>> >>>>> >>>>> ------------------------------------------------------------------------------ >>>>> Better than sec? Nothing is better than sec when it comes to >>>>> monitoring Big Data applications. Try Boundary one-second >>>>> resolution app monitoring today. Free. >>>>> http://p.sf.net/sfu/Boundary-dev2dev >>>>> >>>>> _______________________________________________ >>>>> Wrapper-user mailing list >>>>> Wra...@li... >>>>> https://lists.sourceforge.net/lists/listinfo/wrapper-user >>>>> >>>>> >>>> >>>> >>>> ------------------------------------------------------------------------------ >>>> Better than sec? Nothing is better than sec when it comes to >>>> monitoring Big Data applications. Try Boundary one-second >>>> resolution app monitoring today. Free. >>>> http://p.sf.net/sfu/Boundary-dev2dev >>>> _______________________________________________ >>>> Wrapper-user mailing list >>>> Wra...@li... >>>> https://lists.sourceforge.net/lists/listinfo/wrapper-user >>>> >>>> >>> >>> >>> ------------------------------------------------------------------------------ >>> Better than sec? Nothing is better than sec when it comes to >>> monitoring Big Data applications. Try Boundary one-second >>> resolution app monitoring today. Free. >>> http://p.sf.net/sfu/Boundary-dev2dev >>> _______________________________________________ >>> Wrapper-user mailing list >>> Wra...@li... >>> https://lists.sourceforge.net/lists/listinfo/wrapper-user >>> >>> >> >> >> ------------------------------------------------------------------------------ >> For Developers, A Lot Can Happen In A Second. >> Boundary is the first to Know...and Tell You. >> Monitor Your Applications in Ultra-Fine Resolution. Try it FREE! >> http://p.sf.net/sfu/Boundary-d2dvs2 >> >> _______________________________________________ >> Wrapper-user mailing list >> Wra...@li... >> https://lists.sourceforge.net/lists/listinfo/wrapper-user >> >> > > > ------------------------------------------------------------------------------ > Better than sec? Nothing is better than sec when it comes to > monitoring Big Data applications. Try Boundary one-second > resolution app monitoring today. Free. > http://p.sf.net/sfu/Boundary-dev2dev > _______________________________________________ > Wrapper-user mailing list > Wra...@li... > https://lists.sourceforge.net/lists/listinfo/wrapper-user > > |
|
From: Christian M. <chr...@ta...> - 2012-04-20 07:57:59
|
Hello Abhishek, thank you for your mail. please change the following property: wrapper.java.mainclass=org.tanukisoftware.wrapper.test.Main to wrapper.java.mainclass=org.tanukisoftware.wrapper.test.WrapperSimpleApp org.tanukisoftware.wrapper.test.Main is actually the main class of the test application, which is shipped with every Wrapper distribution. Furthermore, I saw that the property wrapper.app.parameter.1 is commented out, please make sure that the name of your main class is put here and is correct. Hope this information helps you out. Best Regards, Christian Mueller Tanuki Software, Ltd. On Fri, Apr 20, 2012 at 1:10 PM, Abhishek Chordia < ema...@gm...> wrote: > Hi Team, > > Please help me out, i am not able to start my java application using > Wrapper but it is running fine manually : > > System Configuration : Linux 32 bit system. > Wrapper version : 3.514 > > Configurtion & log file attached. > > -- > Regards, > Abhishek Chordia > M : 08802042181 > One97 Communication Ltd. > B-121, Sector -5, Noida (NCR)-201301, India. > > > > ------------------------------------------------------------------------------ > For Developers, A Lot Can Happen In A Second. > Boundary is the first to Know...and Tell You. > Monitor Your Applications in Ultra-Fine Resolution. Try it FREE! > http://p.sf.net/sfu/Boundary-d2dvs2 > _______________________________________________ > Wrapper-user mailing list > Wra...@li... > https://lists.sourceforge.net/lists/listinfo/wrapper-user > > |
|
From: Christian M. <chr...@ta...> - 2012-04-20 03:50:23
|
Hello Trever, A java.lang.ClassNotFoundException means that the JVM didn't find the wrapper.jar file on the class path. could you please verify that the jar file is added correctly to the class path? >From your first mail, I can see that you have the following setting: wrapper.java.classpath.2=../lib/wrapper.jar Furthermore, you need to add your jar file also to the classpath: wrapper.java.classpath.3=./CenturaDataCollectionProgram.jar Lastly, the name of your main class is commented out: #wrapper.app.parameter.1=CenturaDataCollectionProgram.Program If that's the correct name of your main class, please remove the comments. Hope this information helps you out. Cheers, Christian On Fri, Apr 20, 2012 at 1:45 AM, Hickey, Trever (INTERN) < Tre...@si...> wrote: > ** > Hello again, > > I tried your solution about removing the line, and instead I got this > error, > > STATUS | wrapper | 2012/04/19 09:41:19 | Launching a JVM... > INFO | jvm 5 | 2012/04/19 09:41:19 | java.lang.NoClassDefFoundError: > org/tanukisoftware/wrapper/test/WrapperSimpleApp > INFO | jvm 5 | 2012/04/19 09:41:19 | Caused by: > java.lang.ClassNotFoundException: > org.tanukisoftware.wrapper.test.WrapperSimpleApp > INFO | jvm 5 | 2012/04/19 09:41:19 | at > java.net.URLClassLoader$1.run(Unknown Source) > INFO | jvm 5 | 2012/04/19 09:41:19 | at > java.security.AccessController.doPrivileged(Native Method) > INFO | jvm 5 | 2012/04/19 09:41:19 | at > java.net.URLClassLoader.findClass(Unknown Source) > INFO | jvm 5 | 2012/04/19 09:41:19 | at > java.lang.ClassLoader.loadClass(Unknown Source) > INFO | jvm 5 | 2012/04/19 09:41:19 | at > sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) > INFO | jvm 5 | 2012/04/19 09:41:19 | at > java.lang.ClassLoader.loadClass(Unknown Source) > INFO | jvm 5 | 2012/04/19 09:41:19 | Could not find the main class: > org.tanukisoftware.wrapper.test.WrapperSimpleApp. Program will exit. > ERROR | wrapper | 2012/04/19 09:41:19 | JVM exited while loading the > application. > FATAL | wrapper | 2012/04/19 09:41:19 | There were 5 failed launches in > a row, each lasting less than 300 seconds. Giving up. > FATAL | wrapper | 2012/04/19 09:41:19 | There may be a configuration > problem: please check the logs. > STATUS | wrapper | 2012/04/19 09:41:19 | <-- Wrapper Stopped > Now it seems like the program is not recognizing my program at all. My > program is stored in an executable JAR file, so wouldn't I need this line wrapper.java.additional.2= > -jar "./CenturaDataCollectionProgram.jar" to execute my program? > > Sincerely, > > Trever Hickey > > ------------------------------ > *From:* Christian Mueller [mailto:chr...@ta...] > *Sent:* Thursday, April 12, 2012 1:42 AM > *To:* wra...@li... > *Subject:* Re: [Wrapper-user] FW: Advice on configuring the Java Service > Wrapper for I/O heavy application > > Hello Trever, > > thank you for your mail. > > The reason, your JVM stops after 30 seconds is basically because of a > small misconfiguration. > > Please get rid of the following line in your conf file: > wrapper.java.additional.2= -jar "./CenturaDataCollectionProgram.jar" > > Actually, with this line you kind of intercept the logic of how the JVM > will interpret the command line.... > > > Hope this helps you out. > > Best Regards, > Christian > > On Thu, Apr 12, 2012 at 4:27 AM, Hickey, Trever (INTERN) < > Tre...@si...> wrote: > >> Hi, >> >> This is my first time trying to post here, so here it goes. >> >> I am trying to turn my Java Application into a Windows service using >> Simple Server App class. >> >> I am using >> >> Java Service Wrapper Community Edition 32-bit 3.5.14 >> Copyright (C) 1999-2011 Tanuki Software, Ltd. All Rights Reserved. >> *http://wrapper.tanukisoftware.com*<http://wrapper.tanukisoftware.com> >> >> on Windows XP SP 3. >> >> I have also included my log file and conf file. >> >> The errors I think it most likely relates to are >> ERROR | wrapper | 2012/04/11 11:37:40 | Startup failed: Timed out >> waiting for a signal from the JVM. >> ADVICE | wrapper | 2012/04/11 11:37:40 | >> ADVICE | wrapper | 2012/04/11 11:37:40 | >> ------------------------------------------------------------------------ >> ADVICE | wrapper | 2012/04/11 11:37:40 | Advice: >> ADVICE | wrapper | 2012/04/11 11:37:40 | The Wrapper consists of a >> native component as well as a set of classes >> ADVICE | wrapper | 2012/04/11 11:37:40 | which run within the JVM that >> it launches. The Java component of the >> ADVICE | wrapper | 2012/04/11 11:37:40 | Wrapper must be initialized >> promptly after the JVM is launched or the >> ADVICE | wrapper | 2012/04/11 11:37:40 | Wrapper will timeout, as just >> happened. Most likely the main class >> ADVICE | wrapper | 2012/04/11 11:37:40 | specified in the Wrapper >> configuration file is not correctly initializing >> ADVICE | wrapper | 2012/04/11 11:37:40 | the Wrapper classes: >> ADVICE | wrapper | 2012/04/11 11:37:40 | >> org.tanukisoftware.wrapper.test.WrapperSimpleApp >> ADVICE | wrapper | 2012/04/11 11:37:40 | While it is possible to do so >> manually, the Wrapper ships with helper >> ADVICE | wrapper | 2012/04/11 11:37:40 | classes to make this >> initialization processes automatic. >> ADVICE | wrapper | 2012/04/11 11:37:40 | Please review the integration >> section of the Wrapper's documentation >> ADVICE | wrapper | 2012/04/11 11:37:40 | for the various methods which >> can be employed to launch an application >> ADVICE | wrapper | 2012/04/11 11:37:40 | within the Wrapper: >> ADVICE | wrapper | 2012/04/11 11:37:40 | * >> http://wrapper.tanukisoftware.com/doc/english/integrate.html*<http://wrapper.tanukisoftware.com/doc/english/integrate.html> >> ADVICE | wrapper | 2012/04/11 11:37:40 | >> ------------------------------------------------------------------------ >> ADVICE | wrapper | 2012/04/11 11:37:40 | >> >> So far it looks like my application starts correctly, but terminates >> after about 30 seconds when it then opens a new JVM and repeats for 4 more >> times. >> >> I believe this might be one of two issues. One my application stays >> constantly within my main method and doesn't exit out. I think there are a >> couple of parameters that can be set to handle this, but I haven't had much >> luck. >> >> Second idea is my application is very I/O heavy. My program is constantly >> collecting data from a tool [using a special communication protocol] and >> writing it to a log file. Could the JVM be timing out because of the heavy >> I/O and if so, is their a way around this so my program can still be a >> Windows Service? >> >> If anyone has any advice for handling this type of error I would >> appreciate it. >> >> Thank you, >> >> Trever >> >> >> This communication and any files or attachments transmitted with it may >> contain information that is copyrighted or confidential and exempt from >> disclosure under applicable law. It is intended solely for the use of the >> individual or the entity to which it is addressed. >> If you are not the intended recipient, you are hereby notified that any >> use, dissemination, or copying of this communication is strictly >> prohibited. >> If you have received this communication in error, please notify us at >> once so that we may take the appropriate action and avoid troubling you >> further. >> Thank you for your cooperation. Please contact your local IT staff or >> email in...@si... <in...@si...?subject=Disclaimer> if you >> need assistance. >> >> >> ------------------------------------------------------------------------------ >> For Developers, A Lot Can Happen In A Second. >> Boundary is the first to Know...and Tell You. >> Monitor Your Applications in Ultra-Fine Resolution. Try it FREE! >> http://p.sf.net/sfu/Boundary-d2dvs2 >> _______________________________________________ >> Wrapper-user mailing list >> Wra...@li... >> https://lists.sourceforge.net/lists/listinfo/wrapper-user >> >> > > > This communication and any files or attachments transmitted with it may > contain information that is copyrighted or confidential and exempt from > disclosure under applicable law. It is intended solely for the use of the > individual or the entity to which it is addressed. > If you are not the intended recipient, you are hereby notified that any > use, dissemination, or copying of this communication is strictly prohibited. > If you have received this communication in error, please notify us at once > so that we may take the appropriate action and avoid troubling you further. > > Thank you for your cooperation. Please contact your local IT staff or > email in...@si... you need assistance. > > > ------------------------------------------------------------------------------ > For Developers, A Lot Can Happen In A Second. > Boundary is the first to Know...and Tell You. > Monitor Your Applications in Ultra-Fine Resolution. Try it FREE! > http://p.sf.net/sfu/Boundary-d2dvs2 > _______________________________________________ > Wrapper-user mailing list > Wra...@li... > https://lists.sourceforge.net/lists/listinfo/wrapper-user > > |
|
From: Hickey, T. (INTERN) <Tre...@si...> - 2012-04-19 16:46:03
|
Hello again,
I tried your solution about removing the line, and instead I got this error,
STATUS | wrapper | 2012/04/19 09:41:19 | Launching a JVM...
INFO | jvm 5 | 2012/04/19 09:41:19 | java.lang.NoClassDefFoundError: org/tanukisoftware/wrapper/test/WrapperSimpleApp
INFO | jvm 5 | 2012/04/19 09:41:19 | Caused by: java.lang.ClassNotFoundException: org.tanukisoftware.wrapper.test.WrapperSimpleApp
INFO | jvm 5 | 2012/04/19 09:41:19 | at java.net.URLClassLoader$1.run(Unknown Source)
INFO | jvm 5 | 2012/04/19 09:41:19 | at java.security.AccessController.doPrivileged(Native Method)
INFO | jvm 5 | 2012/04/19 09:41:19 | at java.net.URLClassLoader.findClass(Unknown Source)
INFO | jvm 5 | 2012/04/19 09:41:19 | at java.lang.ClassLoader.loadClass(Unknown Source)
INFO | jvm 5 | 2012/04/19 09:41:19 | at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
INFO | jvm 5 | 2012/04/19 09:41:19 | at java.lang.ClassLoader.loadClass(Unknown Source)
INFO | jvm 5 | 2012/04/19 09:41:19 | Could not find the main class: org.tanukisoftware.wrapper.test.WrapperSimpleApp. Program will exit.
ERROR | wrapper | 2012/04/19 09:41:19 | JVM exited while loading the application.
FATAL | wrapper | 2012/04/19 09:41:19 | There were 5 failed launches in a row, each lasting less than 300 seconds. Giving up.
FATAL | wrapper | 2012/04/19 09:41:19 | There may be a configuration problem: please check the logs.
STATUS | wrapper | 2012/04/19 09:41:19 | <-- Wrapper Stopped
Now it seems like the program is not recognizing my program at all. My program is stored in an executable JAR file, so wouldn't I need this line wrapper.java.additional.2= -jar "./CenturaDataCollectionProgram.jar" to execute my program?
Sincerely,
Trever Hickey
________________________________
From: Christian Mueller [mailto:chr...@ta...]
Sent: Thursday, April 12, 2012 1:42 AM
To: wra...@li...
Subject: Re: [Wrapper-user] FW: Advice on configuring the Java Service Wrapper for I/O heavy application
Hello Trever,
thank you for your mail.
The reason, your JVM stops after 30 seconds is basically because of a small misconfiguration.
Please get rid of the following line in your conf file:
wrapper.java.additional.2= -jar "./CenturaDataCollectionProgram.jar"
Actually, with this line you kind of intercept the logic of how the JVM will interpret the command line....
Hope this helps you out.
Best Regards,
Christian
On Thu, Apr 12, 2012 at 4:27 AM, Hickey, Trever (INTERN) <Tre...@si...<mailto:Tre...@si...>> wrote:
Hi,
This is my first time trying to post here, so here it goes.
I am trying to turn my Java Application into a Windows service using Simple Server App class.
I am using
Java Service Wrapper Community Edition 32-bit 3.5.14
Copyright (C) 1999-2011 Tanuki Software, Ltd. All Rights Reserved.
http://wrapper.tanukisoftware.com
on Windows XP SP 3.
I have also included my log file and conf file.
The errors I think it most likely relates to are
ERROR | wrapper | 2012/04/11 11:37:40 | Startup failed: Timed out waiting for a signal from the JVM.
ADVICE | wrapper | 2012/04/11 11:37:40 |
ADVICE | wrapper | 2012/04/11 11:37:40 | ------------------------------------------------------------------------
ADVICE | wrapper | 2012/04/11 11:37:40 | Advice:
ADVICE | wrapper | 2012/04/11 11:37:40 | The Wrapper consists of a native component as well as a set of classes
ADVICE | wrapper | 2012/04/11 11:37:40 | which run within the JVM that it launches. The Java component of the
ADVICE | wrapper | 2012/04/11 11:37:40 | Wrapper must be initialized promptly after the JVM is launched or the
ADVICE | wrapper | 2012/04/11 11:37:40 | Wrapper will timeout, as just happened. Most likely the main class
ADVICE | wrapper | 2012/04/11 11:37:40 | specified in the Wrapper configuration file is not correctly initializing
ADVICE | wrapper | 2012/04/11 11:37:40 | the Wrapper classes:
ADVICE | wrapper | 2012/04/11 11:37:40 | org.tanukisoftware.wrapper.test.WrapperSimpleApp
ADVICE | wrapper | 2012/04/11 11:37:40 | While it is possible to do so manually, the Wrapper ships with helper
ADVICE | wrapper | 2012/04/11 11:37:40 | classes to make this initialization processes automatic.
ADVICE | wrapper | 2012/04/11 11:37:40 | Please review the integration section of the Wrapper's documentation
ADVICE | wrapper | 2012/04/11 11:37:40 | for the various methods which can be employed to launch an application
ADVICE | wrapper | 2012/04/11 11:37:40 | within the Wrapper:
ADVICE | wrapper | 2012/04/11 11:37:40 | http://wrapper.tanukisoftware.com/doc/english/integrate.html
ADVICE | wrapper | 2012/04/11 11:37:40 | ------------------------------------------------------------------------
ADVICE | wrapper | 2012/04/11 11:37:40 |
So far it looks like my application starts correctly, but terminates after about 30 seconds when it then opens a new JVM and repeats for 4 more times.
I believe this might be one of two issues. One my application stays constantly within my main method and doesn't exit out. I think there are a couple of parameters that can be set to handle this, but I haven't had much luck.
Second idea is my application is very I/O heavy. My program is constantly collecting data from a tool [using a special communication protocol] and writing it to a log file. Could the JVM be timing out because of the heavy I/O and if so, is their a way around this so my program can still be a Windows Service?
If anyone has any advice for handling this type of error I would appreciate it.
Thank you,
Trever
This communication and any files or attachments transmitted with it may contain information that is copyrighted or confidential and exempt from
disclosure under applicable law. It is intended solely for the use of the individual or the entity to which it is addressed.
If you are not the intended recipient, you are hereby notified that any use, dissemination, or copying of this communication is strictly prohibited.
If you have received this communication in error, please notify us at once so that we may take the appropriate action and avoid troubling you further.
Thank you for your cooperation. Please contact your local IT staff or email in...@si...<mailto:in...@si...?subject=Disclaimer> if you need assistance.
------------------------------------------------------------------------------
For Developers, A Lot Can Happen In A Second.
Boundary is the first to Know...and Tell You.
Monitor Your Applications in Ultra-Fine Resolution. Try it FREE!
http://p.sf.net/sfu/Boundary-d2dvs2
_______________________________________________
Wrapper-user mailing list
Wra...@li...<mailto:Wra...@li...>
https://lists.sourceforge.net/lists/listinfo/wrapper-user
This communication and any files or attachments transmitted with it may contain information that is copyrighted or confidential and exempt from disclosure under applicable law. It is intended solely for the use of the individual or the entity to which it is addressed.
If you are not the intended recipient, you are hereby notified that any use, dissemination, or copying of this communication is strictly prohibited.
If you have received this communication in error, please notify us at once so that we may take the appropriate action and avoid troubling you further.
Thank you for your cooperation. Please contact your local IT staff or email in...@si... if you need assistance.
|
|
From: jeroen v. <jvr...@gm...> - 2012-04-17 09:35:36
|
Thanks for the information christian, I have another question regarding using the wrapper to run a java proces as console application on a windows cluster. The application is brought online quit neatly, and I can see in the log that the JVM is started succesfully. Now, if I bring the resource offline, i however won't see the JVM shutting down in the logs. I would like to see this if possible. Is this a problem with the cluster not interacting t-with the java service wrapper? Am I using a wrong implementation-possibility? using wrappersimpleApp at the moment. Are there other possilities to check if there are JVM still running on the machine? So by not using the wrapper? The thing is, that I'm having some issues concerning java-processes who don't get shut down. So this means that a proces will keep running on one node(even though the cluster itself says that the service is failed), and will start up on the other node. Which means that the same proces is running on both node. which is a disaster ^^. Hope you can help jeroen Vranckx On 6 April 2012 07:31, Christian Mueller < chr...@ta...> wrote: > Hello Jeroen, > > I don't think you are able to start the service by issuing "wrapper.exe -s > ..\conf\wrapper.conf" from console or any user session. > > When running the Wrapper with -t, it tells the Service Control Manager, to > start the service. Using the API call StartService: > > http://msdn.microsoft.com/en-us/library/windows/desktop/ms686321%28v=vs.85%29.aspx > > For instance, if you call, net start {service}, it will also call > StartService quite like the Wrapper when run as wrapper -t > > With the StartService call, the service manager will start then the > service command (wrapper -s) and waits for the process to start the control > dispatcher and connect to the service control manager. This is being done > in the service process by calling StartServiceCtrlDispatcher. > > http://msdn.microsoft.com/en-us/library/windows/desktop/ms686324%28v=vs.85%29.aspx > Therefore, running bin\wrapper -s, from console without the service > manager waiting for a connection, will ultimately cause a failure. > > That mechanism is a bit similar for instance to the TCP handshake. > > Hope this helps you out. > > Cheers, > Christian > > > On Wed, Apr 4, 2012 at 6:57 PM, jeroen vranckx <jvr...@gm...>wrote: > >> hey christian, >> >> If I look at the created windows service that I made by using the >> wrapper.exe -i wrapper.conf option, when i look at the path to the >> executable it says X:\Foo\Bar\app\bin\wrapper.exe -s >> X:\Foo\Bar\app\conf\wrapper.conf. >> >> Now, I have the possibility when i create a generic application(for >> clusterunaware services), to just specify the service that i want to make >> generic. I have the possibility to give the generic service a specific >> startup command, so I could definatly use the -t method if nesecairy. >> If I run it, it works perfectly fine without the us of the -t >> parameter(it will probably use the -s parameter by default). What does the >> -t parameter do actually? >> What's the difference if i run it with -s or --t? >> >> Indeed it says on the website(just as you say), that you need to call the >> -t parameter for a service, but the -s parameter(that is default when you >> install by the -i parameter) kinda confused me. >> >> Looking forward to your replye, and tnx in advance >> >> greetings, >> Jeroen Vranckx >> >> >> On 4 April 2012 07:10, Christian Mueller < >> chr...@ta...> wrote: >> >>> Hello, >>> >>> the parameter '-s' should not be called by the user but the service >>> manager in order to control the wrapper as service. >>> >>> when you want to start the installed service from console or script, >>> please run: >>> X:\Foo\Bar\app\bin\wrapper.exe -t X:\Foo\Bar\app\conf\wrapper.conf >>> >>> for all available parameters, please run bin\wrapper -? >>> >>> The wrapper.internal.namedpipe property is for internal use only and >>> shouldn't be set. >>> Actually it is only being used during installation and actually I think >>> it's redundant to have it on the servicemanager command. >>> When you interact with a service, administrator privileges are required. >>> However starting with the introduction of UAC in Windows Vista, an >>> Administrator account also needs to elevate a process to run under high >>> security context. The Wrapper will check if it runs already elevated and >>> if not, it will pop-up the elevation dialog, requesting the elevation. This >>> will actually spawn an elevated process, which will do the required task. >>> The IPC of the elevated process and the original process is done via a >>> named pipe the original process allocates. The name of the named pipe is >>> random, so that's why you see two different names. Using random names makes >>> it possible to interact with multiple services simultaneously without >>> clashing. To tell the elevated process at which pipe the original wrapper >>> process is waiting for, the wrapper.internal.namedpipe is being defined. >>> The elevated process then redirects stdin/stdout/stderr to the pipes and >>> because by default stdin/stdout/stderr is buffered to save some >>> performance, but in this case it will cause some timing issues and since >>> the install/remove/start/stop actions are only running for a rather short >>> time, performance doesn't matter that much. >>> >>> Hope this answers all your questions. >>> >>> Please let me know if you need any further information. >>> >>> Thank you, >>> >>> Christian >>> >>> On Tue, Apr 3, 2012 at 5:43 PM, jeroen vranckx <jvr...@gm...>wrote: >>> >>>> Just figured out something ^^ >>>> Seems like the wrapper.console.flush param and namedpipe param are a >>>> indirect consequence of installing the service when you don't use >>>> administrator params in cmd. >>>> So if you're doing something like clustering, this will definatly mess >>>> things up. >>>> >>>> Fixed this issue, and not having issues anymore. >>>> Scripted the wrapper.exe -i option in windows powershell, and managed >>>> to get the service running now. I'll be integrating it with the automatic >>>> generation of the windows service as a generic service in the cluster. >>>> >>>> I still would like to know what those param do, as they do seem to be >>>> wrapperrelated >>>> >>>> >>>> On 3 April 2012 10:03, jeroen vranckx <jvr...@gm...> wrote: >>>> >>>>> Well, to keep you guys updated on my progress. >>>>> >>>>> I managed to get the fix the logging off problem by using the >>>>> ignore_user_logoffs=TRUE option. Seems to do the trick, but I'm checking >>>>> out the other method to where I use the application as Windows Service too. >>>>> I managed to get that working too. Now when i go check out the service >>>>> that is installed on both nodes(well on the windows server cluster, you >>>>> need to install the service on both nodes locally), i can see that the path >>>>> to the executable is something like this: >>>>> >>>>> X:\Foo\Bar\app\bin\wrapper.exe -s X:\Foo\Bar\app\conf\wrapper.conf >>>>> wrapper.console.flush=true wrapper.internal.namedpipe=0643816939 >>>>> The named pipe is different on both servers >>>>> >>>>> What does the wrapper.console.flush parameter do? And the namedpipe is >>>>> dependant on the wrapper? >>>>> Reason why I am asking this, is because I'm probably gonna need to >>>>> script some managementtools. Already tried to script something in >>>>> powershell, where i kept everything like that, but took a random number for >>>>> the namedpip(kept the number of digits though). >>>>> >>>>> The service did get created, but it didn't start up. So Im' woundering >>>>> if i need to consider some stuff, when creating the windows service myself >>>>> in powershell instead of using the wrapper.exe -i method in cmd. >>>>> >>>>> thanks in advance >>>>> >>>>> jeroen Vranckx >>>>> >>>>> >>>>> >>>>> On 28 March 2012 09:10, Christian Mueller < >>>>> chr...@ta...> wrote: >>>>> >>>>>> 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 >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> ------------------------------------------------------------------------------ >>>>>> 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 >>>>>> >>>>>> >>>>> >>>> >>>> >>>> ------------------------------------------------------------------------------ >>>> Better than sec? Nothing is better than sec when it comes to >>>> monitoring Big Data applications. Try Boundary one-second >>>> resolution app monitoring today. Free. >>>> http://p.sf.net/sfu/Boundary-dev2dev >>>> >>>> _______________________________________________ >>>> Wrapper-user mailing list >>>> Wra...@li... >>>> https://lists.sourceforge.net/lists/listinfo/wrapper-user >>>> >>>> >>> >>> >>> ------------------------------------------------------------------------------ >>> Better than sec? Nothing is better than sec when it comes to >>> monitoring Big Data applications. Try Boundary one-second >>> resolution app monitoring today. Free. >>> http://p.sf.net/sfu/Boundary-dev2dev >>> _______________________________________________ >>> Wrapper-user mailing list >>> Wra...@li... >>> https://lists.sourceforge.net/lists/listinfo/wrapper-user >>> >>> >> >> >> ------------------------------------------------------------------------------ >> Better than sec? Nothing is better than sec when it comes to >> monitoring Big Data applications. Try Boundary one-second >> resolution app monitoring today. Free. >> http://p.sf.net/sfu/Boundary-dev2dev >> _______________________________________________ >> Wrapper-user mailing list >> Wra...@li... >> https://lists.sourceforge.net/lists/listinfo/wrapper-user >> >> > > > ------------------------------------------------------------------------------ > For Developers, A Lot Can Happen In A Second. > Boundary is the first to Know...and Tell You. > Monitor Your Applications in Ultra-Fine Resolution. Try it FREE! > http://p.sf.net/sfu/Boundary-d2dvs2 > _______________________________________________ > Wrapper-user mailing list > Wra...@li... > https://lists.sourceforge.net/lists/listinfo/wrapper-user > > |
|
From: Christian M. <chr...@ta...> - 2012-04-16 05:54:30
|
Hello Kaiwal, I'm very sorry. The error you are seeing means that the certification chain processed correctly but terminated in a root certificate that is not trusted by the trust provider. >From the flow of your log output, I can see that the certificate verification actually took quite a significant time to finish ~15 sec. We have addressed this issue in 3.5.11 by running the signature check in an separate thread: - Fix a problem on Windows where the Wrapper was taking 15 seconds or longer to startup on some systems because the WinVerifyTrust system call was having problems updating the CRL. This had been a problem since the Wrapper binaries started being signed in 3.5.7. If the WinVerifyTrust call takes longer than the configured wrapper.startup_thread.timeout property then the Wrapper will continue to startup without further delay. The Wrapper will shutdown if the signature check reveals any direct problem with our signature, the Wrapper will shutdown. In your case the message, about the root certificate, is actually "only" a warning and will NOT lead the Wrapper to shutdown. The reason the Wrapper is shutting down, is shown in the following line: FATAL | wrapper | 2012/03/29 10:13:34 | Unable to execute Java command. The system cannot find the file specified. (0x2) This means that the following property needs your attention: wrapper.java.command=java This tells the Wrapper to look up the java command from the PATH variable. When you run your application as service under the System User accounts, the environment variables are probably different compared to your normal user account. You can fix the issue by making sure the java-binary is actually on the path. For more information, please refer to the following page: http://wrapper.tanukisoftware.com/doc/english/prop-java-command.html Taking a closer look, you probably also want to take a look at the following issues as well: - wrapper.java.mainclass is specified twice. -wrapper.app.parameter.1 is commented out. you need to specify the name of the main-class of your application in order that the WrapperSimpleApp invokes anything. Hope this information helps you out. Best Regards, Christian Mueller Tanuki Software, Ltd. On Sat, Apr 14, 2012 at 4:21 AM, Patel, Kaiwal <kai...@jp...>wrote: > Hello,**** > > ** ** > > I am getting following checksum error:**** > > -----------------------------------------------**** > > Checksum error - from .log file**** > > -----------------------------------------------**** > > ADVICE | wrapper | 2012/03/29 10:35:51 | **** > > FATAL | wrapper | 2012/03/29 10:35:51 | Critical error: wait for JVM > process failed**** > > ERROR | wrapper | 2012/03/29 10:36:05 | A signature was found in > "C:\epagent\bin\epawrapper.exe", but checksum failed: (Errorcode: > 0x800b0109) The operation completed successfully. (0x0)**** > > ERROR | wrapper | 2012/03/29 10:36:05 | Signer Certificate:**** > > ERROR | wrapper | 2012/03/29 10:36:05 | Serial Number: **** > > ERROR | wrapper | 2012/03/29 10:36:05 | 00 97 06 fe b5 6e 56 cc cb > 66 3a bb 55 a7 a0 e4 76 **** > > ERROR | wrapper | 2012/03/29 10:36:05 | Issuer Name: > UTN-USERFirst-Object**** > > ERROR | wrapper | 2012/03/29 10:36:05 | Subject Name: Tanuki > Software Ltd.**** > > ERROR | wrapper | 2012/03/29 10:36:05 | TimeStamp Certificate:**** > > ERROR | wrapper | 2012/03/29 10:36:05 | Serial Number: **** > > ERROR | wrapper | 2012/03/29 10:36:05 | 47 8a 8e fb 59 e1 d8 3f 0c > e1 42 d2 a2 87 07 be **** > > ERROR | wrapper | 2012/03/29 10:36:05 | Issuer Name: > UTN-USERFirst-Object**** > > ERROR | wrapper | 2012/03/29 10:36:05 | Subject Name: COMODO Time > Stamping Signer**** > > ERROR | wrapper | 2012/03/29 10:36:05 |**** > > -----------------------------------------------**** > > ** ** > > *Details about wrapper:* > > Wrapper Version 32-bit 3.5.12**** > > OS Windows Server 2008 R2 Standard**** > > wrapper.conf - Attached (epawrapper.conf)**** > > wrapper.log - Attached (epawrapper.log)**** > > ** ** > > I also tried adding .crt file - According to help page at:**** > > http://wrapper.tanukisoftware.com/doc/german/troubleshooting.html#13 **** > > -----------------------------------------------**** > > *“The error occurred due to the counter-signer of our signature - > Comodo's UTN-USERFirst-Object. The installed certificates can be > investigated from the Windows Certificate Manager certmgr.msc. The > UTN-USERFirst-Object Certificate should be present in the "Third Parties > Root Certification Authorities\Certificates". If not, their root > certificate can be downloaded from here: * > > * > https://support.comodo.com/index.php?_m=downloads&_a=viewdownload&downloaditemid=79 > * > > * * > > *If it is present this might mean, the Local Security Policy of the > server is too tight to allow the certificate to be verified. This settings > can be found in the Local Security Policy of the server the "Public Key > Policies"\"Certificate Path Validation Settings" and allows for the Root > Certificate Store "Third-Party Root CAs and Enterprise Root CAs". If this > doesn't/can't be set to active, another option would be to move the > "UTN-USERFirst-Object Certificate" from the "Third Party Root CA" folder to > the "Trusted Root Certificate Authorities" folder.”* > > -----------------------------------------------**** > > But it did not help to solve problem.**** > > ** ** > > Please help me resolve this error.**** > > ** ** > > Thanks**** > > - Kaiwal**** > > ** ** > > This communication is for informational purposes only. It is not intended > as an offer or solicitation for the purchase or sale of any financial > instrument or as an official confirmation of any transaction. All market > prices, data and other information are not warranted as to completeness or > accuracy and are subject to change without notice. Any comments or > statements made herein do not necessarily reflect those of JPMorgan Chase & > Co., its subsidiaries and affiliates. This transmission may contain > information that is privileged, confidential, legally privileged, and/or > exempt from disclosure under applicable law. If you are not the intended > recipient, you are hereby notified that any disclosure, copying, > distribution, or use of the information contained herein (including any > reliance thereon) is STRICTLY PROHIBITED. Although this transmission and > any attachments are believed to be free of any virus or other defect that > might affect any computer system into which it is received and opened, it > is the responsibility of the recipient to ensure that it is virus free and > no responsibility is accepted by JPMorgan Chase & Co., its subsidiaries and > affiliates, as applicable, for any loss or damage arising in any way from > its use. If you received this transmission in error, please immediately > contact the sender and destroy the material in its entirety, whether in > electronic or hard copy format. Thank you. Please refer to > http://www.jpmorgan.com/pages/disclosures for disclosures relating to > European legal entities. > > > ------------------------------------------------------------------------------ > For Developers, A Lot Can Happen In A Second. > Boundary is the first to Know...and Tell You. > Monitor Your Applications in Ultra-Fine Resolution. Try it FREE! > http://p.sf.net/sfu/Boundary-d2dvs2 > _______________________________________________ > Wrapper-user mailing list > Wra...@li... > https://lists.sourceforge.net/lists/listinfo/wrapper-user > > |
|
From: Christian M. <chr...@ta...> - 2012-04-12 08:42:27
|
Hello Trever, thank you for your mail. The reason, your JVM stops after 30 seconds is basically because of a small misconfiguration. Please get rid of the following line in your conf file: wrapper.java.additional.2= -jar "./CenturaDataCollectionProgram.jar" Actually, with this line you kind of intercept the logic of how the JVM will interpret the command line.... Hope this helps you out. Best Regards, Christian On Thu, Apr 12, 2012 at 4:27 AM, Hickey, Trever (INTERN) < Tre...@si...> wrote: > Hi, > > This is my first time trying to post here, so here it goes. > > I am trying to turn my Java Application into a Windows service using > Simple Server App class. > > I am using > > Java Service Wrapper Community Edition 32-bit 3.5.14 > Copyright (C) 1999-2011 Tanuki Software, Ltd. All Rights Reserved. > *http://wrapper.tanukisoftware.com*<http://wrapper.tanukisoftware.com> > > on Windows XP SP 3. > > I have also included my log file and conf file. > > The errors I think it most likely relates to are > ERROR | wrapper | 2012/04/11 11:37:40 | Startup failed: Timed out > waiting for a signal from the JVM. > ADVICE | wrapper | 2012/04/11 11:37:40 | > ADVICE | wrapper | 2012/04/11 11:37:40 | > ------------------------------------------------------------------------ > ADVICE | wrapper | 2012/04/11 11:37:40 | Advice: > ADVICE | wrapper | 2012/04/11 11:37:40 | The Wrapper consists of a native > component as well as a set of classes > ADVICE | wrapper | 2012/04/11 11:37:40 | which run within the JVM that it > launches. The Java component of the > ADVICE | wrapper | 2012/04/11 11:37:40 | Wrapper must be initialized > promptly after the JVM is launched or the > ADVICE | wrapper | 2012/04/11 11:37:40 | Wrapper will timeout, as just > happened. Most likely the main class > ADVICE | wrapper | 2012/04/11 11:37:40 | specified in the Wrapper > configuration file is not correctly initializing > ADVICE | wrapper | 2012/04/11 11:37:40 | the Wrapper classes: > ADVICE | wrapper | 2012/04/11 11:37:40 | > org.tanukisoftware.wrapper.test.WrapperSimpleApp > ADVICE | wrapper | 2012/04/11 11:37:40 | While it is possible to do so > manually, the Wrapper ships with helper > ADVICE | wrapper | 2012/04/11 11:37:40 | classes to make this > initialization processes automatic. > ADVICE | wrapper | 2012/04/11 11:37:40 | Please review the integration > section of the Wrapper's documentation > ADVICE | wrapper | 2012/04/11 11:37:40 | for the various methods which > can be employed to launch an application > ADVICE | wrapper | 2012/04/11 11:37:40 | within the Wrapper: > ADVICE | wrapper | 2012/04/11 11:37:40 | * > http://wrapper.tanukisoftware.com/doc/english/integrate.html*<http://wrapper.tanukisoftware.com/doc/english/integrate.html> > ADVICE | wrapper | 2012/04/11 11:37:40 | > ------------------------------------------------------------------------ > ADVICE | wrapper | 2012/04/11 11:37:40 | > > So far it looks like my application starts correctly, but terminates after > about 30 seconds when it then opens a new JVM and repeats for 4 more times. > > I believe this might be one of two issues. One my application stays > constantly within my main method and doesn't exit out. I think there are a > couple of parameters that can be set to handle this, but I haven't had much > luck. > > Second idea is my application is very I/O heavy. My program is constantly > collecting data from a tool [using a special communication protocol] and > writing it to a log file. Could the JVM be timing out because of the heavy > I/O and if so, is their a way around this so my program can still be a > Windows Service? > > If anyone has any advice for handling this type of error I would > appreciate it. > > Thank you, > > Trever > > > This communication and any files or attachments transmitted with it may > contain information that is copyrighted or confidential and exempt from > disclosure under applicable law. It is intended solely for the use of the > individual or the entity to which it is addressed. > If you are not the intended recipient, you are hereby notified that any > use, dissemination, or copying of this communication is strictly > prohibited. > If you have received this communication in error, please notify us at once > so that we may take the appropriate action and avoid troubling you further. > Thank you for your cooperation. Please contact your local IT staff or > email in...@si... <in...@si...?subject=Disclaimer> if you > need assistance. > > > ------------------------------------------------------------------------------ > For Developers, A Lot Can Happen In A Second. > Boundary is the first to Know...and Tell You. > Monitor Your Applications in Ultra-Fine Resolution. Try it FREE! > http://p.sf.net/sfu/Boundary-d2dvs2 > _______________________________________________ > Wrapper-user mailing list > Wra...@li... > https://lists.sourceforge.net/lists/listinfo/wrapper-user > > |
|
From: Matthew A. <ma...@ma...> - 2012-04-11 11:24:48
|
Ok. That's what I was afraid of. I entered an enhancement request for a portable configuration property "wrapper.user.home": https://sourceforge.net/tracker/?func=detail&aid=3516822&group_id=39428&atid=425190 BTW, for Windows, you'd need "%HOMEDRIVE%%HOMEPATH%". Thanks, Matthew On Wed, Apr 11, 2012 at 1:25 AM, Christian Mueller <chr...@ta...> wrote: > Hello Matthew, > > there is currently no direct Wrapper-specific environment variable for > referring to the user's home directory. > > On Windows, you could use the HOMEPATH environment variable, for instance: > wrapper.java.classpath.1=%HOMEPATH%\somejar.jar > > On Unix platforms you can do the same with the HOME platform. > wrapper.java.classpath.1=%HOME%\somejar.jar > > Hope this information helps you out. > > Best Regards, > Christian Mueller > Tanuki Software, Ltd. > > > On Wed, Apr 11, 2012 at 5:42 AM, Matthew Adams <ma...@ma...> > wrote: >> >> I see the property "wrapper.working.dir", but that's not what I need. >> I need the equivalent of Java's "user.home" property. How do I refer >> to the user's home directory in wrapper.conf? >> >> Thanks, >> Matthew >> >> -- >> @matthewadams12 >> mailto:ma...@ma... >> skype:matthewadams12 >> yahoo:matthewadams >> aol:matthewadams12 >> google-talk:mat...@gm... >> msn:ma...@ma... >> http://matthewadams.me >> http://www.linkedin.com/in/matthewadams >> >> >> ------------------------------------------------------------------------------ >> Better than sec? Nothing is better than sec when it comes to >> monitoring Big Data applications. Try Boundary one-second >> resolution app monitoring today. Free. >> http://p.sf.net/sfu/Boundary-dev2dev >> _______________________________________________ >> Wrapper-user mailing list >> Wra...@li... >> https://lists.sourceforge.net/lists/listinfo/wrapper-user > > > > ------------------------------------------------------------------------------ > Better than sec? Nothing is better than sec when it comes to > monitoring Big Data applications. Try Boundary one-second > resolution app monitoring today. Free. > http://p.sf.net/sfu/Boundary-dev2dev > _______________________________________________ > Wrapper-user mailing list > Wra...@li... > https://lists.sourceforge.net/lists/listinfo/wrapper-user > -- @matthewadams12 mailto:ma...@ma... skype:matthewadams12 yahoo:matthewadams aol:matthewadams12 google-talk:mat...@gm... msn:ma...@ma... http://matthewadams.me http://www.linkedin.com/in/matthewadams |
|
From: Christian M. <chr...@ta...> - 2012-04-11 06:34:00
|
Hello Matthew, there is currently no direct Wrapper-specific environment variable for referring to the user's home directory. On Windows, you could use the HOMEPATH environment variable, for instance: wrapper.java.classpath.1=%HOMEPATH%\somejar.jar On Unix platforms you can do the same with the HOME platform. wrapper.java.classpath.1=%HOME%\somejar.jar Hope this information helps you out. Best Regards, Christian Mueller Tanuki Software, Ltd. On Wed, Apr 11, 2012 at 5:42 AM, Matthew Adams <ma...@ma...>wrote: > I see the property "wrapper.working.dir", but that's not what I need. > I need the equivalent of Java's "user.home" property. How do I refer > to the user's home directory in wrapper.conf? > > Thanks, > Matthew > > -- > @matthewadams12 > mailto:ma...@ma... > skype:matthewadams12 > yahoo:matthewadams > aol:matthewadams12 > google-talk:mat...@gm... > msn:ma...@ma... > http://matthewadams.me > http://www.linkedin.com/in/matthewadams > > > ------------------------------------------------------------------------------ > Better than sec? Nothing is better than sec when it comes to > monitoring Big Data applications. Try Boundary one-second > resolution app monitoring today. Free. > http://p.sf.net/sfu/Boundary-dev2dev > _______________________________________________ > Wrapper-user mailing list > Wra...@li... > https://lists.sourceforge.net/lists/listinfo/wrapper-user > |
|
From: Matthew A. <ma...@ma...> - 2012-04-10 20:48:32
|
I see the property "wrapper.working.dir", but that's not what I need. I need the equivalent of Java's "user.home" property. How do I refer to the user's home directory in wrapper.conf? Thanks, Matthew -- @matthewadams12 mailto:ma...@ma... skype:matthewadams12 yahoo:matthewadams aol:matthewadams12 google-talk:mat...@gm... msn:ma...@ma... http://matthewadams.me http://www.linkedin.com/in/matthewadams |
|
From: Christian M. <chr...@ta...> - 2012-04-06 05:56:39
|
Hello Jeroen, I don't think you are able to start the service by issuing "wrapper.exe -s ..\conf\wrapper.conf" from console or any user session. When running the Wrapper with -t, it tells the Service Control Manager, to start the service. Using the API call StartService: http://msdn.microsoft.com/en-us/library/windows/desktop/ms686321%28v=vs.85%29.aspx For instance, if you call, net start {service}, it will also call StartService quite like the Wrapper when run as wrapper -t With the StartService call, the service manager will start then the service command (wrapper -s) and waits for the process to start the control dispatcher and connect to the service control manager. This is being done in the service process by calling StartServiceCtrlDispatcher. http://msdn.microsoft.com/en-us/library/windows/desktop/ms686324%28v=vs.85%29.aspx Therefore, running bin\wrapper -s, from console without the service manager waiting for a connection, will ultimately cause a failure. That mechanism is a bit similar for instance to the TCP handshake. Hope this helps you out. Cheers, Christian On Wed, Apr 4, 2012 at 6:57 PM, jeroen vranckx <jvr...@gm...>wrote: > hey christian, > > If I look at the created windows service that I made by using the > wrapper.exe -i wrapper.conf option, when i look at the path to the > executable it says X:\Foo\Bar\app\bin\wrapper.exe -s > X:\Foo\Bar\app\conf\wrapper.conf. > > Now, I have the possibility when i create a generic application(for > clusterunaware services), to just specify the service that i want to make > generic. I have the possibility to give the generic service a specific > startup command, so I could definatly use the -t method if nesecairy. > If I run it, it works perfectly fine without the us of the -t > parameter(it will probably use the -s parameter by default). What does the > -t parameter do actually? > What's the difference if i run it with -s or --t? > > Indeed it says on the website(just as you say), that you need to call the > -t parameter for a service, but the -s parameter(that is default when you > install by the -i parameter) kinda confused me. > > Looking forward to your replye, and tnx in advance > > greetings, > Jeroen Vranckx > > > On 4 April 2012 07:10, Christian Mueller < > chr...@ta...> wrote: > >> Hello, >> >> the parameter '-s' should not be called by the user but the service >> manager in order to control the wrapper as service. >> >> when you want to start the installed service from console or script, >> please run: >> X:\Foo\Bar\app\bin\wrapper.exe -t X:\Foo\Bar\app\conf\wrapper.conf >> >> for all available parameters, please run bin\wrapper -? >> >> The wrapper.internal.namedpipe property is for internal use only and >> shouldn't be set. >> Actually it is only being used during installation and actually I think >> it's redundant to have it on the servicemanager command. >> When you interact with a service, administrator privileges are required. >> However starting with the introduction of UAC in Windows Vista, an >> Administrator account also needs to elevate a process to run under high >> security context. The Wrapper will check if it runs already elevated and >> if not, it will pop-up the elevation dialog, requesting the elevation. This >> will actually spawn an elevated process, which will do the required task. >> The IPC of the elevated process and the original process is done via a >> named pipe the original process allocates. The name of the named pipe is >> random, so that's why you see two different names. Using random names makes >> it possible to interact with multiple services simultaneously without >> clashing. To tell the elevated process at which pipe the original wrapper >> process is waiting for, the wrapper.internal.namedpipe is being defined. >> The elevated process then redirects stdin/stdout/stderr to the pipes and >> because by default stdin/stdout/stderr is buffered to save some >> performance, but in this case it will cause some timing issues and since >> the install/remove/start/stop actions are only running for a rather short >> time, performance doesn't matter that much. >> >> Hope this answers all your questions. >> >> Please let me know if you need any further information. >> >> Thank you, >> >> Christian >> >> On Tue, Apr 3, 2012 at 5:43 PM, jeroen vranckx <jvr...@gm...>wrote: >> >>> Just figured out something ^^ >>> Seems like the wrapper.console.flush param and namedpipe param are a >>> indirect consequence of installing the service when you don't use >>> administrator params in cmd. >>> So if you're doing something like clustering, this will definatly mess >>> things up. >>> >>> Fixed this issue, and not having issues anymore. >>> Scripted the wrapper.exe -i option in windows powershell, and managed to >>> get the service running now. I'll be integrating it with the automatic >>> generation of the windows service as a generic service in the cluster. >>> >>> I still would like to know what those param do, as they do seem to be >>> wrapperrelated >>> >>> >>> On 3 April 2012 10:03, jeroen vranckx <jvr...@gm...> wrote: >>> >>>> Well, to keep you guys updated on my progress. >>>> >>>> I managed to get the fix the logging off problem by using the >>>> ignore_user_logoffs=TRUE option. Seems to do the trick, but I'm checking >>>> out the other method to where I use the application as Windows Service too. >>>> I managed to get that working too. Now when i go check out the service >>>> that is installed on both nodes(well on the windows server cluster, you >>>> need to install the service on both nodes locally), i can see that the path >>>> to the executable is something like this: >>>> >>>> X:\Foo\Bar\app\bin\wrapper.exe -s X:\Foo\Bar\app\conf\wrapper.conf >>>> wrapper.console.flush=true wrapper.internal.namedpipe=0643816939 >>>> The named pipe is different on both servers >>>> >>>> What does the wrapper.console.flush parameter do? And the namedpipe is >>>> dependant on the wrapper? >>>> Reason why I am asking this, is because I'm probably gonna need to >>>> script some managementtools. Already tried to script something in >>>> powershell, where i kept everything like that, but took a random number for >>>> the namedpip(kept the number of digits though). >>>> >>>> The service did get created, but it didn't start up. So Im' woundering >>>> if i need to consider some stuff, when creating the windows service myself >>>> in powershell instead of using the wrapper.exe -i method in cmd. >>>> >>>> thanks in advance >>>> >>>> jeroen Vranckx >>>> >>>> >>>> >>>> On 28 March 2012 09:10, Christian Mueller < >>>> chr...@ta...> wrote: >>>> >>>>> 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 >>>>>> >>>>>> >>>>> >>>>> >>>>> ------------------------------------------------------------------------------ >>>>> 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 >>>>> >>>>> >>>> >>> >>> >>> ------------------------------------------------------------------------------ >>> Better than sec? Nothing is better than sec when it comes to >>> monitoring Big Data applications. Try Boundary one-second >>> resolution app monitoring today. Free. >>> http://p.sf.net/sfu/Boundary-dev2dev >>> >>> _______________________________________________ >>> Wrapper-user mailing list >>> Wra...@li... >>> https://lists.sourceforge.net/lists/listinfo/wrapper-user >>> >>> >> >> >> ------------------------------------------------------------------------------ >> Better than sec? Nothing is better than sec when it comes to >> monitoring Big Data applications. Try Boundary one-second >> resolution app monitoring today. Free. >> http://p.sf.net/sfu/Boundary-dev2dev >> _______________________________________________ >> Wrapper-user mailing list >> Wra...@li... >> https://lists.sourceforge.net/lists/listinfo/wrapper-user >> >> > > > ------------------------------------------------------------------------------ > Better than sec? Nothing is better than sec when it comes to > monitoring Big Data applications. Try Boundary one-second > resolution app monitoring today. Free. > http://p.sf.net/sfu/Boundary-dev2dev > _______________________________________________ > Wrapper-user mailing list > Wra...@li... > https://lists.sourceforge.net/lists/listinfo/wrapper-user > > |
|
From: jeroen v. <jvr...@gm...> - 2012-04-04 09:57:22
|
hey christian, If I look at the created windows service that I made by using the wrapper.exe -i wrapper.conf option, when i look at the path to the executable it says X:\Foo\Bar\app\bin\wrapper.exe -s X:\Foo\Bar\app\conf\wrapper.conf. Now, I have the possibility when i create a generic application(for clusterunaware services), to just specify the service that i want to make generic. I have the possibility to give the generic service a specific startup command, so I could definatly use the -t method if nesecairy. If I run it, it works perfectly fine without the us of the -t parameter(it will probably use the -s parameter by default). What does the -t parameter do actually? What's the difference if i run it with -s or --t? Indeed it says on the website(just as you say), that you need to call the -t parameter for a service, but the -s parameter(that is default when you install by the -i parameter) kinda confused me. Looking forward to your replye, and tnx in advance greetings, Jeroen Vranckx On 4 April 2012 07:10, Christian Mueller < chr...@ta...> wrote: > Hello, > > the parameter '-s' should not be called by the user but the service > manager in order to control the wrapper as service. > > when you want to start the installed service from console or script, > please run: > X:\Foo\Bar\app\bin\wrapper.exe -t X:\Foo\Bar\app\conf\wrapper.conf > > for all available parameters, please run bin\wrapper -? > > The wrapper.internal.namedpipe property is for internal use only and > shouldn't be set. > Actually it is only being used during installation and actually I think > it's redundant to have it on the servicemanager command. > When you interact with a service, administrator privileges are required. > However starting with the introduction of UAC in Windows Vista, an > Administrator account also needs to elevate a process to run under high > security context. The Wrapper will check if it runs already elevated and > if not, it will pop-up the elevation dialog, requesting the elevation. This > will actually spawn an elevated process, which will do the required task. > The IPC of the elevated process and the original process is done via a > named pipe the original process allocates. The name of the named pipe is > random, so that's why you see two different names. Using random names makes > it possible to interact with multiple services simultaneously without > clashing. To tell the elevated process at which pipe the original wrapper > process is waiting for, the wrapper.internal.namedpipe is being defined. > The elevated process then redirects stdin/stdout/stderr to the pipes and > because by default stdin/stdout/stderr is buffered to save some > performance, but in this case it will cause some timing issues and since > the install/remove/start/stop actions are only running for a rather short > time, performance doesn't matter that much. > > Hope this answers all your questions. > > Please let me know if you need any further information. > > Thank you, > > Christian > > On Tue, Apr 3, 2012 at 5:43 PM, jeroen vranckx <jvr...@gm...>wrote: > >> Just figured out something ^^ >> Seems like the wrapper.console.flush param and namedpipe param are a >> indirect consequence of installing the service when you don't use >> administrator params in cmd. >> So if you're doing something like clustering, this will definatly mess >> things up. >> >> Fixed this issue, and not having issues anymore. >> Scripted the wrapper.exe -i option in windows powershell, and managed to >> get the service running now. I'll be integrating it with the automatic >> generation of the windows service as a generic service in the cluster. >> >> I still would like to know what those param do, as they do seem to be >> wrapperrelated >> >> >> On 3 April 2012 10:03, jeroen vranckx <jvr...@gm...> wrote: >> >>> Well, to keep you guys updated on my progress. >>> >>> I managed to get the fix the logging off problem by using the >>> ignore_user_logoffs=TRUE option. Seems to do the trick, but I'm checking >>> out the other method to where I use the application as Windows Service too. >>> I managed to get that working too. Now when i go check out the service >>> that is installed on both nodes(well on the windows server cluster, you >>> need to install the service on both nodes locally), i can see that the path >>> to the executable is something like this: >>> >>> X:\Foo\Bar\app\bin\wrapper.exe -s X:\Foo\Bar\app\conf\wrapper.conf >>> wrapper.console.flush=true wrapper.internal.namedpipe=0643816939 >>> The named pipe is different on both servers >>> >>> What does the wrapper.console.flush parameter do? And the namedpipe is >>> dependant on the wrapper? >>> Reason why I am asking this, is because I'm probably gonna need to >>> script some managementtools. Already tried to script something in >>> powershell, where i kept everything like that, but took a random number for >>> the namedpip(kept the number of digits though). >>> >>> The service did get created, but it didn't start up. So Im' woundering >>> if i need to consider some stuff, when creating the windows service myself >>> in powershell instead of using the wrapper.exe -i method in cmd. >>> >>> thanks in advance >>> >>> jeroen Vranckx >>> >>> >>> >>> On 28 March 2012 09:10, Christian Mueller < >>> chr...@ta...> wrote: >>> >>>> 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 >>>>> >>>>> >>>> >>>> >>>> ------------------------------------------------------------------------------ >>>> 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 >>>> >>>> >>> >> >> >> ------------------------------------------------------------------------------ >> Better than sec? Nothing is better than sec when it comes to >> monitoring Big Data applications. Try Boundary one-second >> resolution app monitoring today. Free. >> http://p.sf.net/sfu/Boundary-dev2dev >> >> _______________________________________________ >> Wrapper-user mailing list >> Wra...@li... >> https://lists.sourceforge.net/lists/listinfo/wrapper-user >> >> > > > ------------------------------------------------------------------------------ > Better than sec? Nothing is better than sec when it comes to > monitoring Big Data applications. Try Boundary one-second > resolution app monitoring today. Free. > http://p.sf.net/sfu/Boundary-dev2dev > _______________________________________________ > Wrapper-user mailing list > Wra...@li... > https://lists.sourceforge.net/lists/listinfo/wrapper-user > > |
|
From: Christian M. <chr...@ta...> - 2012-04-04 06:19:16
|
Hello Divya, how did you install the daemon? Furthermore please let me know which OS you are trying to run. We have actually updated the script from version 3.2.3. greatly, and since version 3.4.0, the script enables you to let it install itself in your system as daemon process. For installing the script as daemon simply run: ./script.sh install (you need to be root/sudo for that) If it's possible could you also please try if you see the same after using a more later version? Best Regards, Christian On Mon, Apr 2, 2012 at 3:14 PM, Divya Habin <div...@gm...>wrote: > > Hi Mueller, > > I tried enabling the debug level but it did no help :(. > The script to stop and start the monitoring application is put as a service > on the server and it will be run before and after the server reboot > respectively. > Before reboot, when the service is run, this is the message printed on log: > STATUS | wrapper | 2012/04/01 03:00:47 | TERM trapped. Shutting down. > WARN | wrapper | 2012/04/01 03:00:47 | JVM process was still running > after receiving a SIGCHLD signal. > > After reboot, when the service is run the application is not started but > when the command to start is run individually the application is started > and > the message printed is : > [root@rpc bin]# /TaskingEAI/bin/UserMonitoring start > Starting User Monitoring Application... > Removed stale pid file: TaskingEAI/bin/./UserMonitoring.pid > > > Thanks, > Divya > > > > Divya Habin wrote: > > > > 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-tp33442324p33544977.html > Sent from the Java Service Wrapper mailing list archive at Nabble.com. > > > > ------------------------------------------------------------------------------ > 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-04-04 05:37:05
|
Hello, the parameter '-s' should not be called by the user but the service manager in order to control the wrapper as service. when you want to start the installed service from console or script, please run: X:\Foo\Bar\app\bin\wrapper.exe -t X:\Foo\Bar\app\conf\wrapper.conf for all available parameters, please run bin\wrapper -? The wrapper.internal.namedpipe property is for internal use only and shouldn't be set. Actually it is only being used during installation and actually I think it's redundant to have it on the servicemanager command. When you interact with a service, administrator privileges are required. However starting with the introduction of UAC in Windows Vista, an Administrator account also needs to elevate a process to run under high security context. The Wrapper will check if it runs already elevated and if not, it will pop-up the elevation dialog, requesting the elevation. This will actually spawn an elevated process, which will do the required task. The IPC of the elevated process and the original process is done via a named pipe the original process allocates. The name of the named pipe is random, so that's why you see two different names. Using random names makes it possible to interact with multiple services simultaneously without clashing. To tell the elevated process at which pipe the original wrapper process is waiting for, the wrapper.internal.namedpipe is being defined. The elevated process then redirects stdin/stdout/stderr to the pipes and because by default stdin/stdout/stderr is buffered to save some performance, but in this case it will cause some timing issues and since the install/remove/start/stop actions are only running for a rather short time, performance doesn't matter that much. Hope this answers all your questions. Please let me know if you need any further information. Thank you, Christian On Tue, Apr 3, 2012 at 5:43 PM, jeroen vranckx <jvr...@gm...>wrote: > Just figured out something ^^ > Seems like the wrapper.console.flush param and namedpipe param are a > indirect consequence of installing the service when you don't use > administrator params in cmd. > So if you're doing something like clustering, this will definatly mess > things up. > > Fixed this issue, and not having issues anymore. > Scripted the wrapper.exe -i option in windows powershell, and managed to > get the service running now. I'll be integrating it with the automatic > generation of the windows service as a generic service in the cluster. > > I still would like to know what those param do, as they do seem to be > wrapperrelated > > > On 3 April 2012 10:03, jeroen vranckx <jvr...@gm...> wrote: > >> Well, to keep you guys updated on my progress. >> >> I managed to get the fix the logging off problem by using the >> ignore_user_logoffs=TRUE option. Seems to do the trick, but I'm checking >> out the other method to where I use the application as Windows Service too. >> I managed to get that working too. Now when i go check out the service >> that is installed on both nodes(well on the windows server cluster, you >> need to install the service on both nodes locally), i can see that the path >> to the executable is something like this: >> >> X:\Foo\Bar\app\bin\wrapper.exe -s X:\Foo\Bar\app\conf\wrapper.conf >> wrapper.console.flush=true wrapper.internal.namedpipe=0643816939 >> The named pipe is different on both servers >> >> What does the wrapper.console.flush parameter do? And the namedpipe is >> dependant on the wrapper? >> Reason why I am asking this, is because I'm probably gonna need to script >> some managementtools. Already tried to script something in powershell, >> where i kept everything like that, but took a random number for the >> namedpip(kept the number of digits though). >> >> The service did get created, but it didn't start up. So Im' woundering if >> i need to consider some stuff, when creating the windows service myself in >> powershell instead of using the wrapper.exe -i method in cmd. >> >> thanks in advance >> >> jeroen Vranckx >> >> >> >> On 28 March 2012 09:10, Christian Mueller < >> chr...@ta...> wrote: >> >>> 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 >>>> >>>> >>> >>> >>> ------------------------------------------------------------------------------ >>> 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 >>> >>> >> > > > ------------------------------------------------------------------------------ > Better than sec? Nothing is better than sec when it comes to > monitoring Big Data applications. Try Boundary one-second > resolution app monitoring today. Free. > http://p.sf.net/sfu/Boundary-dev2dev > _______________________________________________ > Wrapper-user mailing list > Wra...@li... > https://lists.sourceforge.net/lists/listinfo/wrapper-user > > |
|
From: jeroen v. <jvr...@gm...> - 2012-04-03 08:43:18
|
Just figured out something ^^ Seems like the wrapper.console.flush param and namedpipe param are a indirect consequence of installing the service when you don't use administrator params in cmd. So if you're doing something like clustering, this will definatly mess things up. Fixed this issue, and not having issues anymore. Scripted the wrapper.exe -i option in windows powershell, and managed to get the service running now. I'll be integrating it with the automatic generation of the windows service as a generic service in the cluster. I still would like to know what those param do, as they do seem to be wrapperrelated On 3 April 2012 10:03, jeroen vranckx <jvr...@gm...> wrote: > Well, to keep you guys updated on my progress. > > I managed to get the fix the logging off problem by using the > ignore_user_logoffs=TRUE option. Seems to do the trick, but I'm checking > out the other method to where I use the application as Windows Service too. > I managed to get that working too. Now when i go check out the service > that is installed on both nodes(well on the windows server cluster, you > need to install the service on both nodes locally), i can see that the path > to the executable is something like this: > > X:\Foo\Bar\app\bin\wrapper.exe -s X:\Foo\Bar\app\conf\wrapper.conf > wrapper.console.flush=true wrapper.internal.namedpipe=0643816939 > The named pipe is different on both servers > > What does the wrapper.console.flush parameter do? And the namedpipe is > dependant on the wrapper? > Reason why I am asking this, is because I'm probably gonna need to script > some managementtools. Already tried to script something in powershell, > where i kept everything like that, but took a random number for the > namedpip(kept the number of digits though). > > The service did get created, but it didn't start up. So Im' woundering if > i need to consider some stuff, when creating the windows service myself in > powershell instead of using the wrapper.exe -i method in cmd. > > thanks in advance > > jeroen Vranckx > > > > On 28 March 2012 09:10, Christian Mueller < > chr...@ta...> wrote: > >> 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 >>> >>> >> >> >> ------------------------------------------------------------------------------ >> 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-04-03 08:03:49
|
Well, to keep you guys updated on my progress. I managed to get the fix the logging off problem by using the ignore_user_logoffs=TRUE option. Seems to do the trick, but I'm checking out the other method to where I use the application as Windows Service too. I managed to get that working too. Now when i go check out the service that is installed on both nodes(well on the windows server cluster, you need to install the service on both nodes locally), i can see that the path to the executable is something like this: X:\Foo\Bar\app\bin\wrapper.exe -s X:\Foo\Bar\app\conf\wrapper.conf wrapper.console.flush=true wrapper.internal.namedpipe=0643816939 The named pipe is different on both servers What does the wrapper.console.flush parameter do? And the namedpipe is dependant on the wrapper? Reason why I am asking this, is because I'm probably gonna need to script some managementtools. Already tried to script something in powershell, where i kept everything like that, but took a random number for the namedpip(kept the number of digits though). The service did get created, but it didn't start up. So Im' woundering if i need to consider some stuff, when creating the windows service myself in powershell instead of using the wrapper.exe -i method in cmd. thanks in advance jeroen Vranckx On 28 March 2012 09:10, Christian Mueller < chr...@ta...> wrote: > 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 >> >> > > > ------------------------------------------------------------------------------ > 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: Divya H. <div...@gm...> - 2012-04-02 06:14:27
|
Hi Mueller, I tried enabling the debug level but it did no help :(. The script to stop and start the monitoring application is put as a service on the server and it will be run before and after the server reboot respectively. Before reboot, when the service is run, this is the message printed on log: STATUS | wrapper | 2012/04/01 03:00:47 | TERM trapped. Shutting down. WARN | wrapper | 2012/04/01 03:00:47 | JVM process was still running after receiving a SIGCHLD signal. After reboot, when the service is run the application is not started but when the command to start is run individually the application is started and the message printed is : [root@rpc bin]# /TaskingEAI/bin/UserMonitoring start Starting User Monitoring Application... Removed stale pid file: TaskingEAI/bin/./UserMonitoring.pid Thanks, Divya Divya Habin wrote: > > 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-tp33442324p33544977.html Sent from the Java Service Wrapper mailing list archive at Nabble.com. |
|
From: Lars S. <Lar...@if...> - 2012-03-29 09:51:41
|
Hi Christian I solved the problem, I had a space in the application name in the script-file, so it took the name as two parameters. Thanks for the quick help! Lars On 29-03-2012 05:36, Christian Mueller wrote: > 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... > <mailto: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... > <mailto: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: David G. <dav...@ma...> - 2012-03-29 07:50:17
|
You can use the 32 bit version of Java on a 64bit operating system and I do this frequently. As such the 32bit wrapper will work ok - I do this for the sake of simplicity as my application runs just fine under a 32bit JVM. So the answer to your question is "neither" - it depends on what version of Java you are using. That of course is limited to the operating system as you cannot use the 64 bit JVM on 32bit Windows - but the opposite will and does work fine. On 29 Mar 2012, at 08:02, jeroen vranckx wrote: > 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 > > ------------------------------------------------------------------------------ > 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 |