[jboss-jira] [JBoss JIRA] (DROOLS-1469) Using ExternalSpreadsheetCompiler in osgi throws java.lang.ClassNotFoundException

Manjunath S Paramesan (JIRA) issues at jboss.org
Tue Mar 7 23:21:00 EST 2017


    [ https://issues.jboss.org/browse/DROOLS-1469?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13374391#comment-13374391 ] 

Manjunath S Paramesan commented on DROOLS-1469:
-----------------------------------------------

Hi,

I have added a reproducer.

The bundle with the compiler https://github.com/manjunath-sp/drools-template-issue-reproducer/tree/master/drools.template.compiler

The PAX exam to reproduce the issue https://github.com/manjunath-sp/drools-template-issue-reproducer/tree/master/drools.template.compiler.itest

The issue seems to occur when rules are compiled in the init-method of the bundle, whereas when invoked as service the compilation works. 

Thanks,
Manjunath





> Using ExternalSpreadsheetCompiler in osgi throws java.lang.ClassNotFoundException
> ---------------------------------------------------------------------------------
>
>                 Key: DROOLS-1469
>                 URL: https://issues.jboss.org/browse/DROOLS-1469
>             Project: Drools
>          Issue Type: Bug
>          Components: core engine
>            Reporter: Mario Fusco
>            Assignee: Mario Fusco
>
> Trying to compile a rule template using ExternalSpreadsheetCompiler, the rule compilation works correctly in stand alone eclipse project, but when done inside an OSGI bundle the following exception is throw at runtime:
> {code}
> java.lang.ClassNotFoundException: Unable to find class 'org.drools.template.parser.DefaultGenerator'
> 	at org.drools.core.base.ClassTypeResolver.resolveType(ClassTypeResolver.java:241)
> 	at org.drools.core.base.ClassTypeResolver.resolveType(ClassTypeResolver.java:130)
> 	at org.drools.compiler.builder.impl.KnowledgeBuilderImpl.processGlobals(KnowledgeBuilderImpl.java:1640)
> 	at org.drools.compiler.builder.impl.KnowledgeBuilderImpl.processOtherDeclarations(KnowledgeBuilderImpl.java:1613)
> 	at org.drools.compiler.builder.impl.KnowledgeBuilderImpl.mergePackage(KnowledgeBuilderImpl.java:1605)
> 	at org.drools.compiler.builder.impl.KnowledgeBuilderImpl.addPackage(KnowledgeBuilderImpl.java:980)
> 	at org.drools.compiler.builder.impl.KnowledgeBuilderImpl.addPackageFromDrl(KnowledgeBuilderImpl.java:365)
> 	at org.drools.compiler.builder.impl.KnowledgeBuilderImpl.addPackageFromDrl(KnowledgeBuilderImpl.java:341)
> 	at org.drools.template.parser.DefaultTemplateRuleBase.readKnowledgeBase(DefaultTemplateRuleBase.java:133)
> 	at org.drools.template.parser.DefaultTemplateRuleBase.<init>(DefaultTemplateRuleBase.java:56)
> 	at org.drools.template.parser.TemplateDataListener.<init>(TemplateDataListener.java:74)
> 	at org.drools.decisiontable.ExternalSpreadsheetCompiler.compile(ExternalSpreadsheetCompiler.java:99)
> 	at org.drools.decisiontable.ExternalSpreadsheetCompiler.compile(ExternalSpreadsheetCompiler.java:85)
> 	at com.mlnms.common.fmwk.drools.impl.DroolsBundleTracker.compileRules(DroolsBundleTracker.java:204)
> 	at com.mlnms.common.fmwk.drools.impl.DroolsBundleTracker.addNewRulesFromContexts(DroolsBundleTracker.java:183)
> 	at com.mlnms.common.fmwk.drools.impl.DroolsBundleTracker.addingBundle(DroolsBundleTracker.java:119)
> 	at com.mlnms.common.fmwk.drools.impl.DroolsBundleTracker.addingBundle(DroolsBundleTracker.java:67)
> 	at org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(BundleTracker.java:467)
> {code}



--
This message was sent by Atlassian JIRA
(v7.2.3#72005)


More information about the jboss-jira mailing list