[ 
https://issues.apache.org/activemq/browse/SMX4KNL-88?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jamie Goodyear updated SMX4KNL-88:
----------------------------------

    Attachment: smx4knl-88a.txt

One possible solution. 

The command executor takes the command chain as one large command. Once any one 
part of it fails the whole command is then treated as being in error. This 
means that upon processing "ecco hi2 \;" the command would fail and stop 
processing any more commands in the chain. GShell run() method's behavior upon 
error is to immediately call the asyncShutdown method to end the session.

When the OSGi layer (smx4 features) is present the normal exit on error 
behavior of the kernel becomes a problem. Some bundles may be in the state of 
starting or stopping, exiting during these transitive states is currently not 
supported. So to get around this we can allow the kernel to wait a few seconds 
to let these bundles finish processing before the asyncShutdown method it 
called to end the run() session.

> Failed kernel commands in command chain will hang processing.
> -------------------------------------------------------------
>
>                 Key: SMX4KNL-88
>                 URL: https://issues.apache.org/activemq/browse/SMX4KNL-88
>             Project: ServiceMix Kernel
>          Issue Type: Bug
>         Environment: Unix
>            Reporter: Jamie Goodyear
>            Assignee: Jamie Goodyear
>         Attachments: smx4knl-88a.txt
>
>
> Failed kernel commands in command chain will hang processing.
> Ex 1: 
> [EMAIL PROTECTED]:/x1/fuse/esb/bin$ ./servicemix echo hi1 \; echo hi2\; echo 
> hi3 \; exit
> The command chain to individually echo "hi1", "hi2" and hi3" will print to 
> the terminal screen:
> hi1
> hi2
> hi3
> Then smx will exit, returning the terminal prompt.
> Ex 2:
> [EMAIL PROTECTED]:/x1/fuse/esb/bin$ ./servicemix echo hi1 \; ecco hi2\; echo 
> hi3 \; exit
> Here the command chain was intended to individually echo "hi" but in this 
> case the second echo command has been mis-spelled. Instead of an error 
> message being displayed to the screen and continuing on to echo "hi3" however 
> smx stops processing commands (the user then has to ctrl+c the process to 
> regain the terminal session).
> Is this the behavior we want to maintain? 
> Could we set some property perhaps to allow the kernel to ignore failed 
> commands in a chain?
>  

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to