|
From: jeroen v. <jvr...@gm...> - 2012-03-27 10:00:14
|
Hi everybody, This is my first time for posting a question here, but I thought it would be best to ask some help with people who are familiar with the java service wrapper already. So maybe it’s best that I give you some information about why I’m asking this question and why I need your help. So I’m a student from Belgium, and I’m currently doing my thesis(graduation paper?). The company were I’m doing this asked me to revise and migrate an existing servercluster infrastructure. I’ve been working the past 2 weeks on checking out the possibilities to upgrade and improve the existing structure, And I think I have given them some options on that side. Now I have come to the actual clustering. The servercluster is only used to cluster java-applications and services. There are a number of generic applications that run on the cluster, which are using the java service wrapper. Now; one of the problems that they are having, is that when an administrator logs on to one of the servernodes, and logs off again, all the generic applications restart. They were thinking that this problem was probably caused by the wrapper. After reading the documentation, I seem to have found some indications that indeed point in this direction. Not saying that the wrapper itself is doing anything wrong, but I think that it’s probably used in a wrong manner. *“The problem is that Java on its own can not be run as a service. Many simple tools like the Windows "sc" command can be used to run Java as a service, but the user doing something as simple as logging off of the machine will cause Java to shutdown.“* * * *“Most Java applications die rather abruptly if the user presses CTRL-C, logs out of Windows, etc. You can work around some of these issues with a Shutdown Hook, but the Wrapper implements this by using a **native library<http://wrapper.tanukisoftware.com/doc/english/prop-native-library.html> ** to directly capture the system signals. This makes it possible to have a Java application installed as a Windows Service without it being stopped when a user logs out. “* * * * * Now, what I think is what happens: the generic applications aren’t correctly set-up to run as a windows service(probably combination of clustering resource and java service wrapper misconfiguration), which causes the JVM’s to stop when logging off. The cluster notices that there is something wrong with the clustering resource(generic application), and starts it back up. This caused them to think at the company that the resources restarted, but I think this isn’t the case. It’s the JVM that stops, and the clustering that steps in. Now, I’m wondering where I need to start looking to fix this problem. I think the problem lies with the fact that the java-application isn’t running as a windows service. I did already notice something with the command line parameters of the generic resources. They are using the following commands to run the java applications: X:\Foo\Bar\FooBAR\bin\wrapper.exe -c X:\ Foo \ Bar \ FooBAR \conf\wrapper.conf If my first quick read of the documentation was correctly, that will let it run as a console-application. Don’t know if this has anything to do with it, just guessing. I’m probably going to re-read the whole documentation again, to get myself more familiar with the java service wrapper. I’m not just looking for the answer, I really want to look into the problem here. That’s why I’m looking for some input here, to get a point to work from. My time is limited, so I need to work efficient(need to do management and probably a whole lot of testing), so I thought it would be best to ask for some help here. So is there someone who has some experience with clustering and java service wrapper? Or somebody that has a hunch what the problem is? Your help will certainly be appreciated. I apologize for my bad English, and hoping to hear your ideas on this one. Vranckx Jeroen |