Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsWhite Papers
Discussion GroupsFirst AidDatabasesJavaBeansGUIJava 3DVirtual MachineCORBASecurityToolsGeneral
Java DirectoryOpen Source ProjectsSample Book ChaptersUser GroupsWeb Resources
Related Topics
Databases.NETMore Topics ...

Java Forum / General / November 2006

Tip: Looking for answers? Try searching our database.

How to restart tomcat service from my java program

Thread view: 
vanisathish@gmail.com - 14 Nov 2006 11:19 GMT
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
kww731029@gmail.com - 14 Nov 2006 12:35 GMT
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

> I need to restart the tomcat service, from within my application
> whenever there is a configuration change. Because i'm loading some
[quoted text clipped - 6 lines]
> this in my java program
> Appreciate your input
vanisathish@gmail.com - 15 Nov 2006 00:43 GMT
Thanks for the update. But if i stop the Tomcat Service, how will start
again, since the tomcat is not there already. I'm using this approach
to start/stop other services in the way you've mentioned

Thanks
> 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
[quoted text clipped - 73 lines]
> > this in my java program
> > Appreciate your input
Arne Vajhøj - 15 Nov 2006 02:16 GMT
> Thanks for the update. But if i stop the Tomcat Service, how will start
> again, since the tomcat is not there already. I'm using this approach
> to start/stop other services in the way you've mentioned

You can obviously not stop and start Tomcat directly from
code running inside Tomcat.

I can see two roads forwards for you:

1) restart the web app and not the server
2) start an independent process that stop and start the service

Arne


Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2009 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.