DroolsSession's initWorkItemManagerFactory method can not work in a OSGi context
--------------------------------------------------------------------------------
Key: JBRULES-2683
URL:
https://jira.jboss.org/browse/JBRULES-2683
Project: Drools
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: drools-core
Affects Versions: 5.2.0.M1
Reporter: Antoine Toulme
Assignee: Mark Proctor
Fix For: FUTURE
This affects the current trunk.
The code in the method does this:
String className = this.chainedProperties.getProperty(
"drools.workItemManagerFactory",
"org.drools.process.instance.impl.DefaultWorkItemManagerFactory" );
[..]
clazz = (Class<WorkItemManagerFactory>)
Thread.currentThread().getContextClassLoader().loadClass( className );
[..]
clazz = (Class<WorkItemManagerFactory>)
SessionConfiguration.class.getClassLoader().loadClass( className );
None of this can work for the default factory since drools-core does not depend on
drools-flow-core (and creating a dependency would create a cycle). Actually, this
won't work for customer code as well, since drools-core won't depend on their
bundle.
I suggest to use a declarative service to work around this problem, while keeping this
type of instantiation around when OSGi is not on.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira