bpm_orchestration3 : end state should give clean message, not exception
-----------------------------------------------------------------------
Key: JBESB-1213
URL:
http://jira.jboss.com/jira/browse/JBESB-1213
Project: JBoss ESB
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Examples
Affects Versions: 4.2.1 IR2
Reporter: Tom Cunningham
Assigned To: Mark Little
Fix For: 4.2.1
If you signal the process past the number of services nodes, then you get an exception
(seen below) - we should catch this and give some feedback to the user that the process
instance is now at the end state:
3:00:00,509 ERROR [CommandInterpreter] couldn't execute
org.jbpm.command.SignalCommand@29e18a
org.jbpm.JbpmException: couldn't execute org.jbpm.command.SignalCommand@29e18a
at org.jbpm.command.impl.CommandServiceImpl.execute(CommandServiceImpl.java:73)
at
org.jboss.soa.esb.services.jbpm.actions.CommandInterpreter.doTheJob(CommandInterpreter.java:139)
at
org.jboss.soa.esb.services.jbpm.actions.impl.DefaultCommandExecutorFactoryImpl$8.execute(DefaultCommandExecutorFactoryImpl.java:291)
at
org.jboss.soa.esb.services.jbpm.actions.CommandInterpreter.process(CommandInterpreter.java:80)
at
org.jboss.soa.esb.services.jbpm.actions.BpmProcessor.process(BpmProcessor.java:64)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
org.jboss.soa.esb.listeners.message.ActionProcessorMethodInfo.processMethods(ActionProcessorMethodInfo.java:102)
at
org.jboss.soa.esb.listeners.message.OverriddenActionLifecycleProcessor.process(OverriddenActionLifecycleProcessor.java:74)
at
org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.process(ActionProcessingPipeline.java:273)
at
org.jboss.soa.esb.listeners.message.MessageAwareListener$1.run(MessageAwareListener.java:303)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:613)
Caused by: org.jbpm.JbpmException: couldn't signal token 'Token(/)' : node
'EndState(end-state1)' doesn't have a default transition
at org.jbpm.graph.exe.Token.signal(Token.java:138)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:157)
at org.jbpm.graph.exe.Token$$EnhancerByCGLIB$$5674f18e.signal(<generated>)
at org.jbpm.command.SignalCommand.execute(SignalCommand.java:91)
at org.jbpm.command.impl.CommandServiceImpl.execute(CommandServiceImpl.java:71)
... 15 more
23:00:00,509 WARN [ActionProcessingPipeline] Unexpected exception caught while processing
the action pipeline: header: [ To: JMSEpr [ PortReference < <wsa:Address
jms://localhost/queue/quickstart_bpm_orchestration3_signal_Request_esb/>,
<wsa:ReferenceProperties jbossesb:java.naming.factory.initial :
org.jnp.interfaces.NamingContextFactory/>, <wsa:ReferenceProperties
jbossesb:java.naming.provider.url : jnp://127.0.0.1:1099/>, <wsa:ReferenceProperties
jbossesb:java.naming.factory.url.pkgs : org.jboss.naming:org.jnp.interfaces/>,
<wsa:ReferenceProperties jbossesb:specification-version : 1.1/>,
<wsa:ReferenceProperties jbossesb:connection-factory : ConnectionFactory/>,
<wsa:ReferenceProperties jbossesb:persistent : true/>, <wsa:ReferenceProperties
jbossesb:acknowledge-mode : 1/> > ] MessageID: ID:JBM-12303 RelatesTo:
jms:correlationID#ID:JBM-16384 ]
org.jboss.soa.esb.actions.ActionProcessingException: couldn't execute
org.jbpm.command.SignalCommand@29e18a
at
org.jboss.soa.esb.services.jbpm.actions.CommandInterpreter.process(CommandInterpreter.java:85)
at
org.jboss.soa.esb.services.jbpm.actions.BpmProcessor.process(BpmProcessor.java:64)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
org.jboss.soa.esb.listeners.message.ActionProcessorMethodInfo.processMethods(ActionProcessorMethodInfo.java:102)
at
org.jboss.soa.esb.listeners.message.OverriddenActionLifecycleProcessor.process(OverriddenActionLifecycleProcessor.java:74)
at
org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.process(ActionProcessingPipeline.java:273)
at
org.jboss.soa.esb.listeners.message.MessageAwareListener$1.run(MessageAwareListener.java:303)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:613)
Caused by: org.jbpm.JbpmException: couldn't execute
org.jbpm.command.SignalCommand@29e18a
at org.jbpm.command.impl.CommandServiceImpl.execute(CommandServiceImpl.java:73)
at
org.jboss.soa.esb.services.jbpm.actions.CommandInterpreter.doTheJob(CommandInterpreter.java:139)
at
org.jboss.soa.esb.services.jbpm.actions.impl.DefaultCommandExecutorFactoryImpl$8.execute(DefaultCommandExecutorFactoryImpl.java:291)
at
org.jboss.soa.esb.services.jbpm.actions.CommandInterpreter.process(CommandInterpreter.java:80)
... 12 more
Caused by: org.jbpm.JbpmException: couldn't signal token 'Token(/)' : node
'EndState(end-state1)' doesn't have a default transition
at org.jbpm.graph.exe.Token.signal(Token.java:138)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:157)
at org.jbpm.graph.exe.Token$$EnhancerByCGLIB$$5674f18e.signal(<generated>)
at org.jbpm.command.SignalCommand.execute(SignalCommand.java:91)
at org.jbpm.command.impl.CommandServiceImpl.execute(CommandServiceImpl.java:71)
... 15 more
23:00:00,510 WARN [ActionProcessingPipeline] No fault address defined for fault message!
header: [ To: JMSEpr [ PortReference < <wsa:Address
jms://localhost/queue/quickstart_bpm_orchestration3_signal_Request_esb/>,
<wsa:ReferenceProperties jbossesb:java.naming.factory.initial :
org.jnp.interfaces.NamingContextFactory/>, <wsa:ReferenceProperties
jbossesb:java.naming.provider.url : jnp://127.0.0.1:1099/>, <wsa:ReferenceProperties
jbossesb:java.naming.factory.url.pkgs : org.jboss.naming:org.jnp.interfaces/>,
<wsa:ReferenceProperties jbossesb:specification-version : 1.1/>,
<wsa:ReferenceProperties jbossesb:connection-factory : ConnectionFactory/>,
<wsa:ReferenceProperties jbossesb:persistent : true/>, <wsa:ReferenceProperties
jbossesb:acknowledge-mode : 1/> > ] MessageID: ID:JBM-12303 RelatesTo:
jms:correlationID#ID:JBM-16384 ]
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira