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*
_______________________________________________
Carbon-dev mailing list
[email protected]
http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev

Reply via email to