Re: How to restart tomcat service from my java program
You can call a MS-DOS command in Java environment. For exampe, if I
stop "Symantec Core LC" service in my computer. My testing code is like
following.
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
/**
*
* @author Carl Wu
*
*/
public class StopServiceTest {
/**
* Test main method
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
StopServiceTest test = new StopServiceTest();
test.stopService("\"Symantec Core LC\"");
}
/**
* Stop a service in Windows XP
*
* @param serviceName the service name
* If there is space in service name string, please add "\" before and
after of the service name.
*/
protected void stopService(String serviceName) {
try {
String command = "net stop " + serviceName;
//print command name
System.out.println(command);
Process p = Runtime.getRuntime().exec(command);
//print execute results
InputStream is = p.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
is.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
The testing results are:
net stop "Symantec Core LC"
The Symantec Core LC service is stopping.
The Symantec Core LC service was stopped successfully.
May it helpful to you,
Carl Wu
vanisathish@gmail.com wrote:
I need to restart the tomcat service, from within my application
whenever there is a configuration change. Because i'm loading some
static hashmap's,starting some threads, during tomcat start-up thro' a
plugin. Now when the user goes and change the configuration settings, i
need to re-start the threads & plugins.
So i think the only possibility that i've is to restart the tomcat
thro' program. I running tomcat5.5. on WinXP as a service. How do i do
this in my java program
Appreciate your input