Still i am stuck with this. please help :( /Chamara
On Wed, Mar 23, 2011 at 5:40 PM, Chamara Silva <[email protected]> wrote: > 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 > -- 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
