yes it is in shutdown method.

Regards,
/chamara

On Wed, Mar 23, 2011 at 5:34 PM, Afkham Azeez <[email protected]> wrote:

> Don't you have to call process.destroy() when you shutdown.
>
>
> On Wed, Mar 23, 2011 at 5:30 PM, Chamara Silva <[email protected]> wrote:
>
>> I have wrote java class to start Axis2Server programatically. It started
>> properly and issue is it didn't stop  either i destroy relevant process.
>> please help.
>>
>> Thank you,
>> Chamara Silva
>>
>> /*
>> *Copyright (c) 2005-2010, WSO2 Inc. (http://www.wso2.org) All Rights
>> Reserved.
>> *
>> *WSO2 Inc. licenses this file to you under the Apache License,
>> *Version 2.0 (the "License"); you may not use this file except
>> *in compliance with the License.
>> *You may obtain a copy of the License at
>> *
>> *http://www.apache.org/licenses/LICENSE-2.0
>> *
>> *Unless required by applicable law or agreed to in writing,
>> *software distributed under the License is distributed on an
>> *"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
>> *KIND, either express or implied.  See the License for the
>> *specific language governing permissions and limitations
>> *under the License.
>> */
>> package org.wso2.carbon.integration.core;
>>
>> import org.wso2.carbon.base.ServerConfigurationException;
>> import org.wso2.carbon.utils.ServerConstants;
>>
>> import java.io.BufferedReader;
>> import java.io.File;
>> import java.io.IOException;
>> import java.io.InputStreamReader;
>>
>> /**
>>  *
>>  */
>> public class SimpleAxis2ServerManager {
>>     public static Process processAxisServer;
>>     private static Thread runnable;
>>     private static String originalUserDir = null;
>>
>>     private final static String SERVER_STARTUP_MESSAGE = "HTTP Listener
>> started";
>>     private final static String SERVER_SHUTDOWN_MESSAGE = "HTTP Sender
>> Shutdown";
>>     private final static long DEFAULT_START_STOP_WAIT_MS = 1000 * 60 * 4;
>>
>>
>>     public synchronized static void startServer(String carbonHome)
>>             throws ServerConfigurationException, InterruptedException {
>>         if (processAxisServer != null) { // An instance of the server is
>> running
>>             return;
>>         }
>>         Process tempProcess;
>>         try {
>>             System.setProperty(ServerConstants.CARBON_HOME, carbonHome);
>>             originalUserDir = System.getProperty("user.dir");
>>             System.setProperty("user.dir", carbonHome);
>>             System.out.println("Importing Code Coverage Details...");
>>             String temp;
>>             if 
>> (System.getProperty("os.name").toLowerCase().contains("windows"))
>> {
>>                 tempProcess = Runtime.getRuntime().exec(new
>> String[]{"bat", "samples/axis2Server/axis2server.bat"},
>>                                                         null, new
>> File(carbonHome));
>>             } else {
>>                 tempProcess = Runtime.getRuntime().exec(new String[]{"sh",
>> "samples/axis2Server/axis2server.sh"},
>>                                                         null, new
>> File(carbonHome));
>>             }
>>             Runtime.getRuntime().addShutdownHook(new Thread() {
>>                 public void run() {
>>                     try {
>>                        shutdown();
>>                     } catch (Exception ignored) {
>>
>>                     }
>>                 }
>>             });
>>             final BufferedReader reader = new BufferedReader(
>>                     new InputStreamReader(tempProcess.getInputStream()));
>>             long time = System.currentTimeMillis() +
>> DEFAULT_START_STOP_WAIT_MS;
>>             while ((temp = reader.readLine()) != null &&
>> System.currentTimeMillis() < time) {
>>                 System.out.println(temp);
>>                 if (temp.contains(SERVER_STARTUP_MESSAGE)) {
>>                     runnable = new Thread() {
>>                         public void run() {
>>                             try {
>>                                 String temp;
>>                                 while ((temp = reader.readLine()) != null)
>> {
>>                                     System.out.println(temp);
>>                                 }
>>                             } catch (Exception ignore) {
>>
>>                             }
>>                         }
>>                     };
>>                     runnable.start();
>>                     break;
>>                 }
>>             }
>>         } catch (IOException e) {
>>             throw new RuntimeException("Unable to start server", e);
>>         }
>>         processAxisServer = tempProcess;
>>         System.out.println("Successfully started axis2 server.
>> Returning...");
>>     }
>>
>>     public synchronized static void shutdown() throws Exception {
>>         if (processAxisServer != null) {
>>  //           try {
>>                 String temp;
>>                 processAxisServer.destroy();
>> //                BufferedReader reader = new BufferedReader(
>> //                        new
>> InputStreamReader(processAxisServer.getInputStream()));
>> //                long time = System.currentTimeMillis() +
>> DEFAULT_START_STOP_WAIT_MS;
>> //                while ((temp = reader.readLine()) != null &&
>> System.currentTimeMillis() < time) {
>> //                    if (temp.contains(SERVER_SHUTDOWN_MESSAGE)) {
>> //                        break;
>> //                    }
>> //                }
>>
>> //            } catch (IOException ignored) {
>>  //          }
>>             try {
>>                 runnable.interrupt();
>>             } catch (Exception ignored) {
>>             }
>>             runnable = null;
>>             processAxisServer = null;
>>             System.out.println("Saving Code Coverage Details...");
>>             try {
>>                 Thread.sleep(1000);
>>             } catch (InterruptedException ignored) {
>>             }
>>             System.out.println("Completed Saving Code Coverage Details.");
>>             System.clearProperty(ServerConstants.CARBON_HOME);
>>             System.setProperty("user.dir", originalUserDir);
>>                               }
>>     }
>>
>>     public static void main(String[] args) throws Exception {
>>         System.out.println("Hello i am starting");
>>
>>  
>> startServer("/home/chamara/wso2/framework-migration/temp/wso2esb-4.0.0-SNAPSHOT");
>>         System.out.println("Hello chamara");
>>  shutdown();
>>
>>     }
>>     public void AAAtest() throws Exception {
>>         System.out.println("Hello i am starting");
>>
>>  
>> startServer("/home/chamara/wso2/framework-migration/temp/wso2esb-4.0.0-SNAPSHOT");
>>         System.out.println("Hello chamara");
>>         shutdown();
>>     }
>> }
>>
>>
>>
>>
>> --
>> Suminda Chamara Silva
>> WSO2 Inc.
>> Mobile: +94 718 302858
>> blog: http://chamaras.blogspot.com
>>
>> _______________________________________________
>> Carbon-dev mailing list
>> [email protected]
>> http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
>>
>>
>
>
> --
> *Afkham Azeez*
> Senior Software Architect & Senior Manager; WSO2, Inc.; http://wso2.com,
> *
> *
> *Member; Apache Software Foundation; 
> **http://www.apache.org/*<http://www.apache.org/>
> *
> email: **[email protected]* <[email protected]>* cell: +94 77 3320919
> blog: **http://blog.afkham.org* <http://blog.afkham.org>*
> twitter: **http://twitter.com/afkham_azeez*<http://twitter.com/afkham_azeez>
> *
> linked-in: **http://lk.linkedin.com/in/afkhamazeez*
> *
> *
> *Lean . Enterprise . Middleware*
>
>


-- 
Suminda Chamara Silva
WSO2 Inc.
Mobile: +94 718 302858
blog: http://chamaras.blogspot.com
_______________________________________________
Carbon-dev mailing list
[email protected]
http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev

Reply via email to