Bug 724779 (BRMS-617) - Drools-persistence needs jbpm-persistence
Summary: Drools-persistence needs jbpm-persistence
Keywords:
Status: VERIFIED
Alias: BRMS-617
Product: JBoss Enterprise BRMS Platform 5
Classification: JBoss
Component: BRE (Expert, Fusion)
Version: BRMS 5.2.0-Dev1
Hardware: Unspecified
OS: Unspecified
high
urgent
Target Milestone: ---
: BRMS 5.2.0.GA
Assignee: John Graham
QA Contact: Lukáš Petrovický
URL: http://jira.jboss.org/jira/browse/BRM...
Whiteboard:
Depends On: BRMS-644
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-06-30 07:11 UTC by Tomas Schlosser
Modified: 2022-05-31 22:28 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed:
Type: Bug


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker BRMS-617 0 Major Closed Drools-persistence needs jbpm-persistence 2014-06-30 19:46:46 UTC

Description Tomas Schlosser 2011-06-30 07:11:31 UTC
securitylevel_name: Public

When creating new KnowledgeSession using JPAKnowledgeService I get ClassNotFoundException:
Unable to load class: org.jbpm.persistence.processinstance.JPAProcessInstanceManagerFactory

This affect both DEV1 and DEV2 builds and works fine in Drools-5.2.0.Final. See JBRULES-3053

Full stacktrace:
java.lang.reflect.InvocationTargetException
org.drools.persistence.jpa.KnowledgeStoreServiceImpl.buildCommanService(KnowledgeStoreServiceImpl.java:130)
at org.drools.persistence.jpa.KnowledgeStoreServiceImpl.newStatefulKnowledgeSession(KnowledgeStoreServiceImpl.java:54)
at org.drools.persistence.jpa.JPAKnowledgeService.newStatefulKnowledgeSession(JPAKnowledgeService.java:122)
at org.jboss.qa.drools.features.PersistenceTest.createNewSession(PersistenceTest.java:94)
27 lines not shown

Caused by null
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
at org.drools.persistence.jpa.KnowledgeStoreServiceImpl.buildCommanService(KnowledgeStoreServiceImpl.java:116)
at org.drools.persistence.jpa.KnowledgeStoreServiceImpl.newStatefulKnowledgeSession(KnowledgeStoreServiceImpl.java:54)
at org.drools.persistence.jpa.JPAKnowledgeService.newStatefulKnowledgeSession(JPAKnowledgeService.java:122)
at org.jboss.qa.drools.features.PersistenceTest.createNewSession(PersistenceTest.java:94)
27 lines not shown

Caused by java.lang.ClassNotFoundException: Unable to load class: org.jbpm.persistence.processinstance.JPAProcessInstanceManagerFactory
org.jbpm.process.instance.ProcessRuntimeImpl.loadClass(ProcessRuntimeImpl.java:101)
at org.jbpm.process.instance.ProcessRuntimeImpl.initProcessInstanceManager(ProcessRuntimeImpl.java:75)
at org.jbpm.process.instance.ProcessRuntimeImpl.<init>(ProcessRuntimeImpl.java:64)
at org.jbpm.process.instance.ProcessRuntimeFactoryServiceImpl.newProcessRuntime(ProcessRuntimeFactoryServiceImpl.java:10)
at org.jbpm.process.instance.ProcessRuntimeFactoryServiceImpl.newProcessRuntime(ProcessRuntimeFactoryServiceImpl.java:6)
at org.drools.runtime.process.ProcessRuntimeFactory.newProcessRuntime(ProcessRuntimeFactory.java:12)
at org.drools.common.AbstractWorkingMemory.createProcessRuntime(AbstractWorkingMemory.java:359)
at org.drools.common.AbstractWorkingMemory.setKnowledgeRuntime(AbstractWorkingMemory.java:1260)
at org.drools.impl.StatefulKnowledgeSessionImpl.<init>(StatefulKnowledgeSessionImpl.java:116)
at org.drools.impl.StatefulKnowledgeSessionImpl.<init>(StatefulKnowledgeSessionImpl.java:109)
at org.drools.reteoo.ReteooRuleBase.newStatefulSession(ReteooRuleBase.java:372)
at org.drools.reteoo.ReteooRuleBase.newStatefulSession(ReteooRuleBase.java:352)
at org.drools.impl.KnowledgeBaseImpl.newStatefulKnowledgeSession(KnowledgeBaseImpl.java:175)
at org.drools.persistence.SingleSessionCommandService.<init>(SingleSessionCommandService.java:101)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
at org.drools.persistence.jpa.KnowledgeStoreServiceImpl.buildCommanService(KnowledgeStoreServiceImpl.java:116)
at org.drools.persistence.jpa.KnowledgeStoreServiceImpl.newStatefulKnowledgeSession(KnowledgeStoreServiceImpl.java:54)
at org.drools.persistence.jpa.JPAKnowledgeService.newStatefulKnowledgeSession(JPAKnowledgeService.java:122)
at org.jboss.qa.drools.features.PersistenceTest.createNewSession(PersistenceTest.java:94)
27 lines not shown

Caused by Unable to load class: org.jbpm.persistence.processinstance.JPAProcessInstanceManagerFactory
org.drools.util.CompositeClassLoader.loadClass(CompositeClassLoader.java:92)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
at org.jbpm.process.instance.ProcessRuntimeImpl.loadClass(ProcessRuntimeImpl.java:99)
at org.jbpm.process.instance.ProcessRuntimeImpl.initProcessInstanceManager(ProcessRuntimeImpl.java:75)
at org.jbpm.process.instance.ProcessRuntimeImpl.<init>(ProcessRuntimeImpl.java:64)
at org.jbpm.process.instance.ProcessRuntimeFactoryServiceImpl.newProcessRuntime(ProcessRuntimeFactoryServiceImpl.java:10)
at org.jbpm.process.instance.ProcessRuntimeFactoryServiceImpl.newProcessRuntime(ProcessRuntimeFactoryServiceImpl.java:6)
at org.drools.runtime.process.ProcessRuntimeFactory.newProcessRuntime(ProcessRuntimeFactory.java:12)
at org.drools.common.AbstractWorkingMemory.createProcessRuntime(AbstractWorkingMemory.java:359)
at org.drools.common.AbstractWorkingMemory.setKnowledgeRuntime(AbstractWorkingMemory.java:1260)
at org.drools.impl.StatefulKnowledgeSessionImpl.<init>(StatefulKnowledgeSessionImpl.java:116)
at org.drools.impl.StatefulKnowledgeSessionImpl.<init>(StatefulKnowledgeSessionImpl.java:109)
at org.drools.reteoo.ReteooRuleBase.newStatefulSession(ReteooRuleBase.java:372)
at org.drools.reteoo.ReteooRuleBase.newStatefulSession(ReteooRuleBase.java:352)
at org.drools.impl.KnowledgeBaseImpl.newStatefulKnowledgeSession(KnowledgeBaseImpl.java:175)
at org.drools.persistence.SingleSessionCommandService.<init>(SingleSessionCommandService.java:101)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
at org.drools.persistence.jpa.KnowledgeStoreServiceImpl.buildCommanService(KnowledgeStoreServiceImpl.java:116)
at org.drools.persistence.jpa.KnowledgeStoreServiceImpl.newStatefulKnowledgeSession(KnowledgeStoreServiceImpl.java:54)
at org.drools.persistence.jpa.JPAKnowledgeService.newStatefulKnowledgeSession(JPAKnowledgeService.java:122)
at org.jboss.qa.drools.features.PersistenceTest.createNewSession(PersistenceTest.java:94)
27 lines not shown

Comment 1 Tomas Schlosser 2011-06-30 07:12:04 UTC
Link: Added: This issue depends JBRULES-3053


Comment 2 Ryan Zhang 2011-07-15 05:39:25 UTC
I didn't see jbpm-persistence-jpa.jar existed in Drools-5.2.0.Final either.

Comment 3 Tomas Schlosser 2011-07-15 07:01:33 UTC
No, it wasn't there, but the dependency wasn't there either. I just tried removing all jbpm-*.jar from BRMS-5.2.0-DEV3 and the exception is gone. Problem probably is that Drools-5.2.0.Final doesn't contain any jbpm libraries, but BRMS contains some of them so it expects to have jbpm-persistence as well.

Comment 4 Ryan Zhang 2011-07-15 07:27:25 UTC
The 4 jbpm-*.jar (not including jbpm-persistence-jpa.jar) in BRMS 5.2.0-Dev3 are included by drools-camel and drools-camel-server dependencies.

Not sure we could exclude them in the release.  

Comment 5 Tomas Schlosser 2011-07-15 08:40:22 UTC
Could we not exclude drools-camel*? According to ERD Drools Execution server support is deffered (see ERD: BRMS-PR-05).

Comment 6 Ryan Zhang 2011-07-15 08:57:11 UTC
Yes, you are right, that feature is deferred.
I will exclude drools-camel* in next brms-p ER1 build. 

Comment 7 Ryan Zhang 2011-07-19 11:26:58 UTC
jbpm-bpmn2,jbpm-flow-builder, jbpm-flow will still be included as guvnor-webapp's dependencies and drools-pipeline's dependencies.

Compare to BRMS-5.2.0-dev3, only jbpm-workitems are excluded in drools-engine.

This issue might still need further investigation.

Comment 8 Tomas Schlosser 2011-07-20 08:22:13 UTC
Link: Added: This issue is incorporated by BRMS-644


Comment 9 Ryan Zhang 2011-08-05 03:06:02 UTC
This issue conflicts with Bug 727562 here. It seems that we can't get away with jbpm-flow and jbpm-flow-builder in BRE.

Comment 10 Mark Proctor 2011-08-16 16:13:17 UTC
jbpm-persistence will need to be added. Prakash has already agreed to this.

If there are no jBPM jars, Drools will persistence without jbpm-persistence. The moment there is jbpm core/builder on the path it'll need jbpm persistence.

Comment 11 lcarlon 2011-08-19 01:19:51 UTC
Marked as release note not required as this appears to be an issue between dev builds.

Comment 12 Prakash Aradhya 2011-08-24 14:41:06 UTC
Ryan,

please add jbpm-persistence jar to the build.  That is the only viable way this issue can be resolved.  And what will be supported in this release is only drools persistence..

Please add this to ER3.

Comment 13 Ryan Zhang 2011-08-25 01:35:09 UTC
Yes, this has been added in ER3. I am preparing to pass the ER3 to QE.

Comment 14 Tomas Schlosser 2011-08-29 05:48:50 UTC
In ER3 jbpm-persistence was added and the problem is gone.


Note You need to log in before you can comment on or make changes to this bug.