[rules-users] Complicated Issue

abhinay_agarwal abhinay_agarwal at infosys.com
Tue Oct 9 03:31:20 EDT 2012


hey,

M using guvnor 5.3.0 Final version and two instances of guvnor.

In my first guvnor application, i ve two packages containg all my rules
which i am accessing using drools core and knowledge api v5.2.0 Final .I use
type "DRL" to extract rules from my change set.


In my second guvnor application, i just have a package which contains my
JBPM process. Here, i am using drools 5.3.1 Final jars to connect and make
my kbase. i use type = "PKG" in my chnage set, which is contradictory to 
JIRA <https://issues.jboss.org/browse/JBRULES-3388>   is opened that a PKG
cannot be read, but was working fine for my application.

Now i dont want to deploy two different wars of guvnor and was expecting to
do it by deploying just 1 guvnor. 

So instead of taking the headache of using different jars, i used a neutral
GUVNOR and drools 5.4.0 final version. I deployed the guvnor, imported the
old repository, built the packages and tried firing the rules using type =
"DRL" in my change set. Everything Worked fine.

As soon as i changed my type = "PKG" in my change set to access the rules, i
got an error :

java.lang.UnsupportedClassVersionError:
Institutional/CalculateDateDifference : Unsupported major.minor version 51.0
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
	at
org.drools.rule.JavaDialectRuntimeData$PackageClassLoader.fastFindClass(JavaDialectRuntimeData.java:615)
	at
org.drools.util.CompositeClassLoader$CachingLoader.load(CompositeClassLoader.java:254)
	at
org.drools.util.CompositeClassLoader$CachingLoader.load(CompositeClassLoader.java:237)
	at
org.drools.util.CompositeClassLoader.loadClass(CompositeClassLoader.java:88)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
	at
org.drools.rule.MVELDialectRuntimeData.getParserConfiguration(MVELDialectRuntimeData.java:270)
	at
org.drools.base.mvel.MVELCompilationUnit.getCompiledExpression(MVELCompilationUnit.java:203)
	at org.drools.base.mvel.MVELConsequence.compile(MVELConsequence.java:75)
	at
org.drools.rule.MVELDialectRuntimeData.onBeforeExecute(MVELDialectRuntimeData.java:173)
	at
org.drools.rule.DialectRuntimeRegistry.onBeforeExecute(DialectRuntimeRegistry.java:144)
	at
org.drools.common.AbstractRuleBase.addPackages(AbstractRuleBase.java:599)
	at org.drools.reteoo.ReteooRuleBase.addPackages(ReteooRuleBase.java:472)
	at
org.drools.impl.KnowledgeBaseImpl.addKnowledgePackages(KnowledgeBaseImpl.java:150)
	at
org.drools.agent.impl.KnowledgeAgentImpl.addResourcesToKnowledgeBase(KnowledgeAgentImpl.java:1085)
	at
org.drools.agent.impl.KnowledgeAgentImpl.rebuildResources(KnowledgeAgentImpl.java:824)
	at
org.drools.agent.impl.KnowledgeAgentImpl.buildKnowledgeBase(KnowledgeAgentImpl.java:673)
	at
org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentImpl.java:203)
	at
org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentImpl.java:182)
	at
com.infy.fcs.drools.adapter.DroolsGuvnorTest.readKnowledgeBase(DroolsGuvnorTest.java:196)
	at
com.infy.fcs.drools.adapter.DroolsGuvnorTest.main(DroolsGuvnorTest.java:107)


When i tried to access the process package(Which is a diff package and
contains only a process), i got the following error

java.lang.UnsupportedClassVersionError:
Fatca_Process/Process_Fatca_Process_Fatca_integration_queue_f06d3a378a5f49d5b7589aae2c0b686eReturnValueEvaluator7Invoker
: Unsupported major.minor version 51.0
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
	at
org.drools.rule.JavaDialectRuntimeData$PackageClassLoader.fastFindClass(JavaDialectRuntimeData.java:615)
	at
org.drools.util.CompositeClassLoader$CachingLoader.load(CompositeClassLoader.java:254)
	at
org.drools.util.CompositeClassLoader$CachingLoader.load(CompositeClassLoader.java:237)
	at
org.drools.util.CompositeClassLoader.loadClass(CompositeClassLoader.java:88)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
	at
org.drools.rule.JavaDialectRuntimeData.wire(JavaDialectRuntimeData.java:435)
	at
org.drools.rule.JavaDialectRuntimeData.wire(JavaDialectRuntimeData.java:430)
	at
org.drools.rule.JavaDialectRuntimeData.onBeforeExecute(JavaDialectRuntimeData.java:256)
	at
org.drools.rule.DialectRuntimeRegistry.onBeforeExecute(DialectRuntimeRegistry.java:138)
	at
org.drools.common.AbstractRuleBase.addPackages(AbstractRuleBase.java:599)
	at org.drools.reteoo.ReteooRuleBase.addPackages(ReteooRuleBase.java:472)
	at
org.drools.impl.KnowledgeBaseImpl.addKnowledgePackages(KnowledgeBaseImpl.java:150)
	at
org.drools.agent.impl.KnowledgeAgentImpl.addResourcesToKnowledgeBase(KnowledgeAgentImpl.java:1085)
	at
org.drools.agent.impl.KnowledgeAgentImpl.rebuildResources(KnowledgeAgentImpl.java:824)
	at
org.drools.agent.impl.KnowledgeAgentImpl.buildKnowledgeBase(KnowledgeAgentImpl.java:673)
	at
org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentImpl.java:203)
	at
org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentImpl.java:182)
	at
com.infy.fcs.drools.adapter.DroolsGuvnorTest.readKnowledgeBase(DroolsGuvnorTest.java:196)
	at
com.infy.fcs.drools.adapter.DroolsGuvnorTest.main(DroolsGuvnorTest.java:107)


here is the attached changeset that i am using


changeset_process.xml
<http://drools.46999.n3.nabble.com/file/n4020175/changeset_process.xml>  
ChangeSet_rules.xml
<http://drools.46999.n3.nabble.com/file/n4020175/ChangeSet_rules.xml>  

please lemme know, if wat i am trying to achieve is evne possible or not?

If yes, then where am i going wrong ?



--
View this message in context: http://drools.46999.n3.nabble.com/Complicated-Issue-tp4020175.html
Sent from the Drools: User forum mailing list archive at Nabble.com.


More information about the rules-users mailing list