Since the question is how to do this from Java, don't go shelling out net 
start/stop on Windows :) Use JNA (http://jna.dev.java.net) , someone just 
recently committed complete support for Windows services. Stopping a service 
looks like this:

        W32ServiceManager serviceManager = new W32ServiceManager();
        W32Service service = serviceManager.openService("tomcat", 
Winsvc.SERVICE_ALL_ACCESS);
        service.stopService();
        service.close();                

-dB.

dB. @ dblock.org 
Moscow|Geneva|Seattle|New York



-----Original Message-----
From: André Warnier [mailto:a...@ice-sa.com] 
Sent: Monday, October 11, 2010 9:34 AM
To: Tomcat Users List
Subject: Re: Starting/Stopping Tomcat from Java program

Hi.

I do not really understand the issue here.
If you are under Windows, with Tomcat running as a Service, then you can just 
run the commands "net start tomcat6" / "net stop tomcat6" to start/stop tomcat.
If you are under Linux, then you can just issue the command 
"/etc/init.d/tomcat6 (start|stop)".
Under most Unixes, the procedure is similar.
So where is the problem ?


Rob Gregory wrote:
> I call the scripts via code to both stop and start Tomcat. There is a 
> problem with even calling these scripts via Unix unless you change 
> (cd) into the bin directory before running startup.sh as the log paths 
> are generated relative to the startup.sh location.
> 
> 
>       String strCatalinaBin = System.getenv("CATALINA_HOME") + "\\bin\\";
>       File objDir = new File(strCatalinaBin);
>       r = Runtime.getRuntime();
>       p = r.exec(new String[] { "cmd.exe", "/C", "start", strCatalinaBin + 
> "catalina.bat", "start" }, null, objDir);
> 
>       p.waitFor();
>       p.destroy();
> 
> Hope this helps.
> Rob
> 
> 
>> -----Original Message-----
>> From: Karthik Nanjangude [mailto:karthik.nanjang...@xius-bcgi.com]
>> Sent: 11 October 2010 13:26
>> To: Tomcat Users List
>> Subject: RE: Starting/Stopping Tomcat from Java program
>>
>> Hi
>>
>> Probably u may need to use Embedded version of TOMCAT to do this
> activity...
>>
>>
>> With regards
>> karthik
>>
>> -----Original Message-----
>> From: kshitij chandrasen [mailto:kshtjchnd...@gmail.com]
>> Sent: Monday, October 11, 2010 2:49 PM
>> To: users@tomcat.apache.org
>> Subject: Starting/Stopping Tomcat from Java program
>>
>>> Hi,
>>> I've to write methods on calling which i'd be able to start and stop
> the
>> tomcat app server. I tried this -
>>> I'm using Tomcat 6.0.26.
>>> String[] command = new String[4];
>>>
>>> command[0] = "cmd";
>>> command[1] = "/C";
>>> command[2] = "startup.bat";
>>> command[3] = "C:\\";
>>> String x[] = {"PATH=C:\\Program Files\\Apache Software
> Foundation\\Apache
>> Tomcat 6.0.26\\bin","CATALINA_HOME=C:\\Program Files\\Apache Software 
>> Foundation\\Apache Tomcat 6.0.26","JAVA_HOME=C:\\Program 
>> Files\\Java\\jdk1.6.0_21","JRE_HOME=C:\\Program Files\\Java\\jre6"};
>>> Process p = Runtime.getRuntime().exec(command,x);
>>>
>>> This gives me a strange windows error saying - The system cannot
> find the
>> file -Djava.util.logging.config.file="C:\Program Files\Apache 
>> Software Foundation\Apache Tomcat 6.0.26\conf\logging.properties", 
>> while it
> actually
>> exists.
>>> If instead of setting the path, I give the absolute path of
> startup.bat in
>> command[3], it works fine -
>>> Process p = Runtime.getRuntime().exec("cmd /C start
>> C:\\broadway\\bat\\startup.bat"); //I copied the startup.bat to a
> folder and
>> ran it from there, it worked fine.
>>> Please give me pointers to the right direction!
>>>
>>>
>>>
>>> --
>>> Kshitij Chandrasen
>>> Engineer, Software Engineering,
>>> Cisco Systems, CBSBU Engineering.
>>>
>>>
>>
>> --
>> Kshitij Chandrasen
>> Engineer, Software Engineering,
>> Cisco Systems, CBSBU Engineering.
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
>> For additional commands, e-mail: users-h...@tomcat.apache.org
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: users-h...@tomcat.apache.org
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to