This solution works well on Ubuntu 10.10 as well.
On Sat, Apr 16, 2011 at 2:54 PM, Afkham Azeez <[email protected]> wrote: > Please try this distribution out and let me know [1]... I have tested on > Mac and Windows and works fine. If everything goes well, I will commit this > change today. > > > 1. > https://docs.google.com/a/wso2.com/leaf?id=0B3W7aoJmJW4wYWRmZDY4NDktZWI3ZC00ZWFmLTk2ZTQtYzhiZGU1YTM5OTMz&hl=en > > > On Sat, Apr 16, 2011 at 11:26 AM, Sanjiva Weerawarana <[email protected]>wrote: > >> Ah ok now I understood what you want to do .. yep sounds good. >> >> Only change you could do is instead of saying "sh -c 'exec java ...'" you >> could simply say "java ...". Essentially you're creating a shell and >> immediately running one command so might as well run that command directly. >> >> Sanjiva. >> >> >> On Sat, Apr 16, 2011 at 10:53 AM, Afkham Azeez <[email protected]> wrote: >> >>> This is what I'm doing in the wso2server.sh. When I restart, I issue a >>> System.exit(121) command. So the shel will spawn a new Java process once the >>> current one exits. This can be done on Windows too with the ERRORLEVEL >>> variable. So, we are relying on the original process which spawned the java >>> process to spawn a new instance, instead of the dying java process spawning >>> a new java process just before it dies. That solution is not working on >>> certain Windows environments. The exit code based approach is guaranteed to >>> work since we are handing back the control to the original shell that >>> spawned the java process. >>> >>> Here is the relevant code segment in wso2server.sh >>> >>> START_EXIT_STATUS=121; >>> status=$START_EXIT_STATUS; >>> >>> while [ "$status" = "$START_EXIT_STATUS" ] >>> do >>> sh -c "exec "$JAVACMD" \ >>> -Xbootclasspath/a:"$CARBON_XBOOTCLASSPATH" \ >>> -Xms256m -Xmx512m -XX:MaxPermSize=128m \ >>> $JAVA_OPTS \ >>> -Dimpl.prefix=Carbon \ >>> -Dcom.sun.management.jmxremote \ >>> -classpath "$CARBON_CLASSPATH" \ >>> -Djava.endorsed.dirs="$CARBON_HOME/lib/endorsed":"$JAVA_HOME/jre/lib/endorsed":"$JAVA_HOME/lib/endorsed" >>> \ >>> -Djava.io.tmpdir="$CARBON_HOME/tmp" \ >>> -Dwso2.server.standalone=true \ >>> -Dcarbon.registry.root=/ \ >>> -Dcarbon.xbootclasspath="$CARBON_XBOOTCLASSPATH" \ >>> -Djava.command="$JAVACMD" \ >>> -Dcarbon.home="$CARBON_HOME" \ >>> -Dwso2.transports.xml="$CARBON_HOME/repository/conf/mgt-transports.xml" \ >>> -Djava.util.logging.config.file="$CARBON_HOME/lib/log4j.properties" \ >>> -Dcarbon.config.dir.path="$CARBON_HOME/repository/conf" \ >>> -Dcomponents.repo="$CARBON_HOME/repository/components/plugins" \ >>> -Dcom.atomikos.icatch.file="$CARBON_HOME/lib/transactions.properties" \ >>> -Dcom.atomikos.icatch.hide_init_file_path=true \ >>> org.wso2.carbon.bootstrap.Bootstrap $*" >>> >>> status=$? >>> >>> done >>> >>> On Sat, Apr 16, 2011 at 10:41 AM, Afkham Azeez <[email protected]> wrote: >>> >>>> If you do; >>>> >>>> $ exec ./foo.sh >>>> >>>> You will simply see the following line; >>>> [Process completed] >>>> >>>> and the control does not return to the current shell. >>>> >>>> >>>> On Sat, Apr 16, 2011 at 10:21 AM, Sanjiva Weerawarana <[email protected] >>>> > wrote: >>>> >>>>> No saying "sh -c .." means you're creating a new shell and then exec'ng >>>>> in there. In that case you might as well just say "java .." (without the >>>>> exec at all). >>>>> >>>>> Doesn't having "exec java" at the end give the return code of the java >>>>> command to the calling shell? That's what's spsed to happen. >>>>> >>>>> Sanjiva. >>>>> >>>>> >>>>> On Sat, Apr 16, 2011 at 9:53 AM, Afkham Azeez <[email protected]> wrote: >>>>> >>>>>> Thanks! >>>>>> >>>>>> sh -c "exec java ..." >>>>>> worked! >>>>>> >>>>>> Earlier the script only had "exec java ..." >>>>>> >>>>>> >>>>>> On Sat, Apr 16, 2011 at 7:15 AM, Sanjiva Weerawarana < >>>>>> [email protected]> wrote: >>>>>> >>>>>>> Its good to use exec so that the parent shell process doesn't hang >>>>>>> around. That's common practice for shell scripts which set up a bunch of >>>>>>> stuff and run something else right at the end. >>>>>>> >>>>>>> But that should not be a problem as the process exit status should be >>>>>>> that of the exec'ed command IIRC (new command is run in the same >>>>>>> process). >>>>>>> >>>>>>> Here's a small test: >>>>>>> >>>>>>> $ cat /tmp/foo.sh >>>>>>> #!/bin/sh >>>>>>> >>>>>>> exit 79 >>>>>>> $ sh -c "exec /tmp/foo.sh" >>>>>>> $ echo $? >>>>>>> 79 >>>>>>> >>>>>>> Sanjiva. >>>>>>> >>>>>>> On Sat, Apr 16, 2011 at 4:13 AM, Afkham Azeez <[email protected]>wrote: >>>>>>> >>>>>>>> Instead of simply doing; "java ..." we do "exec java ...". Why have >>>>>>>> we used exec here? I'm trying to solve the restart issue using exit >>>>>>>> codes, >>>>>>>> and when exec is used, the process exit code cannot be captured. >>>>>>>> >>>>>>>> -- >>>>>>>> *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 >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Sanjiva Weerawarana, Ph.D. >>>>>>> Founder, Chairman & CEO; WSO2, Inc.; http://wso2.com/ >>>>>>> email: [email protected]; phone: +94 11 763 9614; cell: +94 77 787 >>>>>>> 6880 | +1 650 265 8311 >>>>>>> blog: http://sanjiva.weerawarana.org/ >>>>>>> >>>>>>> Lean . Enterprise . Middleware >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> *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* >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> Sanjiva Weerawarana, Ph.D. >>>>> Founder, Chairman & CEO; WSO2, Inc.; http://wso2.com/ >>>>> email: [email protected]; phone: +94 11 763 9614; cell: +94 77 787 6880| +1 >>>>> 650 265 8311 >>>>> blog: http://sanjiva.weerawarana.org/ >>>>> >>>>> Lean . Enterprise . Middleware >>>>> >>>> >>>> >>>> >>>> -- >>>> *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* >>>> >>>> >>> >>> >>> -- >>> *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* >>> >>> >> >> >> -- >> Sanjiva Weerawarana, Ph.D. >> Founder, Chairman & CEO; WSO2, Inc.; http://wso2.com/ >> email: [email protected]; phone: +94 11 763 9614; cell: +94 77 787 6880 | +1 >> 650 265 8311 >> blog: http://sanjiva.weerawarana.org/ >> >> Lean . Enterprise . Middleware >> > > > > -- > *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* > > -- *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
