[
https://issues.jboss.org/browse/JBRULES-2683?page=com.atlassian.jira.plug...
]
Geoffrey De Smet commented on JBRULES-2683:
-------------------------------------------
Currently the code in SessionConfiguration (there is no class named DroolsSession atm)
does this:
{code}
clazz = (Class<WorkItemManagerFactory>) this.classLoader.loadClass(
className );
{code}
which goes to CompositeClassLoader
{code}
public Class< ? > loadClass(final String name,
final boolean resolve) throws ClassNotFoundException {
Class cls = loader.get().load( this,
name,
resolve );
...
}
{code}
CompositeClassLoader is part of knowledge-api and since knowledge-api can successfully
load jbpm-flow classes at runtime, I presume this issue has been fixed some time ago.
DroolsSession's initWorkItemManagerFactory method can not work in
a OSGi context
--------------------------------------------------------------------------------
Key: JBRULES-2683
URL:
https://issues.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: 5.4.0.CR1
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, please contact your JIRA administrators:
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see:
http://www.atlassian.com/software/jira