Alejandro Guizar [
http://community.jboss.org/people/alex.guizar%40jboss.com] created the
discussion
"Close ProcessEngine upon BPM console undeployment"
To view the discussion, visit:
http://community.jboss.org/message/549378#549378
--------------------------------------------------------------
Regarding
https://jira.jboss.org/browse/JBPM-2881 JBPM-2881, it seems the process engine
is not closed when the BPM console is undeployed. ProcessEngineImpl stops the job executor
on close. However, the job dispatcher thread is still running after the web application
stops, as evidenced by the following stack trace.
22/06/2010 08:43:28 PM org.apache.catalina.loader.WebappClassLoader loadClass
INFO: Illegal access: this web application instance has been stopped already.
Could not load org.jbpm.pvm.internal.tx.StandardTransaction.
The eventual following stack trace is caused by an error thrown for debugging purposes
as well as to attempt to terminate the thread which caused the illegal access,
and has no functional impact.
java.lang.IllegalStateException
at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1402)
at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1361)
at org.jbpm.pvm.internal.util.ReflectUtil.classForName(ReflectUtil.java:453)
at
org.jbpm.pvm.internal.wire.descriptor.ObjectDescriptor.construct(ObjectDescriptor.java:141)
at org.jbpm.pvm.internal.wire.WireContext.construct(WireContext.java:487)
at org.jbpm.pvm.internal.wire.WireContext.create(WireContext.java:466)
at org.jbpm.pvm.internal.wire.WireContext.create(WireContext.java:455)
at org.jbpm.pvm.internal.wire.WireContext.get(WireContext.java:429)
at org.jbpm.pvm.internal.wire.WireContext.get(WireContext.java:339)
at org.jbpm.pvm.internal.wire.WireContext.get(WireContext.java:706)
at org.jbpm.pvm.internal.env.BasicEnvironment.get(BasicEnvironment.java:132)
at org.jbpm.pvm.internal.env.BasicEnvironment.get(BasicEnvironment.java:123)
at
org.jbpm.pvm.internal.tx.StandardTransactionInterceptor.execute(StandardTransactionInterceptor.java:46)
at
org.jbpm.pvm.internal.svc.EnvironmentInterceptor.executeInNewEnvironment(EnvironmentInterceptor.java:53)
at
org.jbpm.pvm.internal.svc.EnvironmentInterceptor.execute(EnvironmentInterceptor.java:40)
at org.jbpm.pvm.internal.svc.RetryInterceptor.execute(RetryInterceptor.java:56)
at org.jbpm.pvm.internal.svc.SkipInterceptor.execute(SkipInterceptor.java:43)
at
org.jbpm.pvm.internal.jobexecutor.DispatcherThread.acquireJobs(DispatcherThread.java:126)
at org.jbpm.pvm.internal.jobexecutor.DispatcherThread.run(DispatcherThread.java:67)
I did not develop the console integration and lack the knowledge required to place the
ProcessEngine.close() call properly. Any pointers in this direction would be very
helpful.
--------------------------------------------------------------
Reply to this message by going to Community
[
http://community.jboss.org/message/549378#549378]
Start a new discussion in jBPM Development at Community
[
http://community.jboss.org/choose-container!input.jspa?contentType=1&...]