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
