Chris Dolan created DROOLS-171:
----------------------------------
Summary: CompositeClassLoader fails on Android
Key: DROOLS-171
URL:
https://issues.jboss.org/browse/DROOLS-171
Project: Drools
Issue Type: Bug
Security Level: Public (Everyone can see)
Affects Versions: 5.5.0.Final
Reporter: Chris Dolan
Assignee: Mark Proctor
Priority: Minor
(not sure if this is a bug or a feature request, because I doubt Android is supported)
I'm trying to see how far I can get porting a Drools project to Android. My first
roadblock is the following because the Android Dalvik classloader implementation is
stricter than Java's implementation:
java.lang.NullPointerException: parentLoader == null && !nullAllowed
at java.lang.ClassLoader.<init>(ClassLoader.java:198)
at java.lang.ClassLoader.<init>(ClassLoader.java:190)
at org.drools.util.CompositeClassLoader.<init>(CompositeClassLoader.java:43)
at org.drools.util.ClassLoaderUtil.getClassLoader(ClassLoaderUtil.java:27)
at org.drools.RuleBaseConfiguration.setClassLoader(RuleBaseConfiguration.java:945)
at org.drools.RuleBaseConfiguration.init(RuleBaseConfiguration.java:421)
at org.drools.RuleBaseConfiguration.<init>(RuleBaseConfiguration.java:267)
at org.drools.RuleBaseConfiguration.<clinit>(RuleBaseConfiguration.java:175)
at
org.drools.impl.KnowledgeBaseFactoryServiceImpl.newKnowledgeBaseConfiguration(KnowledgeBaseFactoryServiceImpl.java:37)
at
org.drools.KnowledgeBaseFactory.newKnowledgeBaseConfiguration(KnowledgeBaseFactory.java:125)
RuleBaseConfiguration is trying to build a default configuration instance, which tries to
instantiate a CompositeClassLoader. But that class calls the constructor ClassLoader(null)
which is not permitted on Android. Instead, it should call the no-args ClassLoader()
constructor. It's not supposed to refer to the parent classloader anyway, so it should
be fine to the use the no-args version.
[by the way, the CompositeClassLoader constructor should use DefaultLoader.INSTANCE
instead of new DefaultLoader()]
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira