OK. I'll try to come and see what is going on.
On Thu, Mar 24, 2011 at 12:00 PM, Chamara Silva <[email protected]> wrote: > 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 > > -- *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*
_______________________________________________ Carbon-dev mailing list [email protected] http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
