[
https://jira.jboss.org/jira/browse/JBESB-3061?page=com.atlassian.jira.plu...
]
Tom Fennelly commented on JBESB-3061:
-------------------------------------
Martin, can you double check the sequence of events you outlined? I've gone through
this a few times now and I haven't seen this error in the console or logs.
I'm also wondering what could be so magical about this sequence of events. Surely
this issue can be reproduced in fewer steps? What's the significance of steps #18 and
#19 where you exec startProcess twice? Are we saying here that it won't happen if I
only do it once?
Classloader issue in jBPM integration
-------------------------------------
Key: JBESB-3061
URL:
https://jira.jboss.org/jira/browse/JBESB-3061
Project: JBoss ESB
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: Deployment, Process flow
Affects Versions: 4.7
Reporter: Martin Vecera
Assignee: Tom Fennelly
Fix For: 4.7 CP1
Attachments: fail.tar.bz2
There is an issue that causes an exception during the task manipulation in jbpm-console.
The steps to reproduce are little bit complicated. I was not able to find any easier way
nor the steps work for 100%.
You will need two quicstarts - bpm_orchestration4 and bpm_orchestration4_jca. The second
one can be prepared as follows:
1) copy bpm_orchestration4 to bpm_orchestration4_jca
2) change jboss-esb.xml in bpm_orchestration4_jca to use a JMS JCA provider:
<jms-jca-provider name="JBossMQ"
connection-factory="ConnectionFactory" transacted="true">
...
</jms-jca-provider>
Now start the server and follow these steps (please note that whenever you call
startProcess, you must fulfill two tasks in the jbpm-console):
1) switch to bpm_orchestration4
2) ant deploy
3) ant deployProcess
4) ant startProcess
5) ant undeploy
6) ant deploy
7) ant startProcess
8) ant undeploy
9) switch to bpm_orchestration4_jca
10) ant deploy
11) delete the process definition in the jbpm-console
12) ant deployProcess
13) ant startProcess
14) ant undeploy
15) ant deploy
16) delete the process definition in the jbpm-console
17) ant deployProcess
18) ant startProcess
19) ant startProcess
20) ant undeploy
21) switch to bpm_orchestration4
22) ant deploy
23) ant startProcess
24) ant undeploy
25) ant deploy
26) ant startProcess
27) delete the process definition in the jbpm-console
28) ant deployProcess
29) ant startProcess
30) see the error during fulfilling the tasks in jbpm-console: Error completing task: An
exception of type "org.jbpm.graph.def.DelegationException" was thrown. The
message is:
BaseClassLoader@3d3154fa{vfsfile:/home/mvecera/work/soa/50B1/jboss-as/server/default/deploy/Quickstart_bpm_orchestration4.esb/}
classLoader is not connected to a domain (probably undeployed?) for class
sun.reflect.MethodAccessorImpl
Now, in thirty easy steps, you can also get an exception in the log:
15:56:06,990 ERROR [GraphElement] action threw exception:
BaseClassLoader@588d8962{vfszip:/home/mvecera/wnb/ESBTest/qa/tests/quickstarts/tests/output/lib/Quickstart_bpm_orchestration4.esb/}
classLoader is not connected to a domain (probably undeployed?) for class
sun.reflect.MethodAccessorImpl
java.lang.IllegalStateException:
BaseClassLoader@588d8962{vfszip:/home/mvecera/wnb/ESBTest/qa/tests/quickstarts/tests/output/lib/Quickstart_bpm_orchestration4.esb/}
classLoader is not connected to a domain (probably undeployed?) for class
sun.reflect.MethodAccessorImpl
at
org.jboss.classloader.spi.base.BaseClassLoader.loadClassFromDomain(BaseClassLoader.java:793)
at
org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:441)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at sun.misc.Unsafe.defineClass(Native Method)
at sun.reflect.ClassDefiner.defineClass(ClassDefiner.java:45)
at sun.reflect.MethodAccessorGenerator$1.run(MethodAccessorGenerator.java:381)
at java.security.AccessController.doPrivileged(Native Method)
at sun.reflect.MethodAccessorGenerator.generate(MethodAccessorGenerator.java:377)
at
sun.reflect.MethodAccessorGenerator.generateMethod(MethodAccessorGenerator.java:59)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:28)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.mvel2.PropertyAccessor.set(PropertyAccessor.java:352)
at org.mvel2.PropertyAccessor.set(PropertyAccessor.java:144)
at org.mvel2.MVEL.setProperty(MVEL.java:1183)
at
org.jboss.soa.esb.message.mapping.ObjectMapper.setObjectOnMessage(ObjectMapper.java:306)
at
org.jboss.soa.esb.services.jbpm.JBpmObjectMapper.setOnEsbMessage(JBpmObjectMapper.java:144)
at
org.jboss.soa.esb.services.jbpm.JBpmObjectMapper.mapFromJBpmToEsbMessage(JBpmObjectMapper.java:81)
at
org.jboss.soa.esb.services.jbpm.actionhandlers.EsbActionHandler.execute(EsbActionHandler.java:103)
at org.jbpm.graph.def.Action.execute(Action.java:137)
at sun.reflect.GeneratedMethodAccessor770.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:197)
at org.jbpm.graph.def.Action_$$_javassist_80.execute(Action_$$_javassist_80.java)
at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:280)
at org.jbpm.graph.def.Node.execute(Node.java:395)
at org.jbpm.graph.def.Node.enter(Node.java:375)
at sun.reflect.GeneratedMethodAccessor746.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:197)
at org.jbpm.graph.def.Node_$$_javassist_127.enter(Node_$$_javassist_127.java)
at org.jbpm.graph.def.Transition.take(Transition.java:151)
at org.jbpm.graph.def.Node.leave(Node.java:453)
at org.jbpm.graph.node.TaskNode.leave(TaskNode.java:228)
at sun.reflect.GeneratedMethodAccessor772.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:197)
at org.jbpm.graph.def.Node_$$_javassist_127.leave(Node_$$_javassist_127.java)
at org.jbpm.graph.exe.Token.signal(Token.java:214)
at org.jbpm.graph.exe.Token.signal(Token.java:143)
at sun.reflect.GeneratedMethodAccessor771.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:197)
at org.jbpm.graph.exe.Token_$$_javassist_60.signal(Token_$$_javassist_60.java)
at org.jbpm.taskmgmt.exe.TaskInstance.end(TaskInstance.java:438)
at org.jbpm.taskmgmt.exe.TaskInstance.end(TaskInstance.java:364)
at
org.jbpm.jsf.core.action.CompleteTaskActionListener.handleAction(CompleteTaskActionListener.java:47)
at
org.jbpm.jsf.core.impl.JbpmActionListenerWrapper.processAction(JbpmActionListenerWrapper.java:82)
at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)
at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:771)
at javax.faces.component.UICommand.broadcast(UICommand.java:372)
at
org.jbpm.jsf.taskform.ui.UITaskFormButtonBase.broadcast(UITaskFormButtonBase.java:56)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:475)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:756)
at
com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
at
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
at
org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
at
org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira