[rules-users] drools-ant task and java.lang.ClassCastException: org.drools.reteoo.ReteooRuleBase
Ojwang Wilson O
wojwang at alcatel-lucent.com
Mon Jul 7 20:09:23 EDT 2008
All,
I was succesfull in building rules pkg from drl using drools-ant task,
but when I used the generated pkg in the code below
=============
File rulesDir = new
File("/home/droolsuser/workspace_ant/AntDroolsTest/build/pkgrules/");
String rulesdir = rulesDir.getAbsolutePath();
Properties prop = new Properties();
//prop.setProperty("file", ruleFile);
prop.setProperty("dir",rulesdir);
prop.setProperty("newInstance", "false");
prop.setProperty("localCacheDir", ".");
prop.setProperty("poll", "300"); // poll every 300 seconds
for hot deployment.
//Get a new RuleBase using these properties
RuleAgent agent = RuleAgent.newRuleAgent(prop);
-------------------->Error line
RuleBase ruleBase = agent.getRuleBase();
==========
I encountered the following error.
=========
[java] RuleAgent(default) INFO (Mon Jul 07 18:58:30 CDT 2008):
Configuring with newInstance=false, secondsToRefresh=300
[java] RuleAgent(default) INFO (Mon Jul 07 18:58:30 CDT 2008):
Configuring package provider : DirectoryScanner scanning dir:
/home/droolsuser/workspace_ant/AntDroolsTest/build/pkgrules found 1 file(s).
[java] java.lang.ClassCastException:
org.drools.reteoo.ReteooRuleBase cannot be cast to org.drools.rule.Package
[java] at
org.drools.agent.FileScanner.readPackage(FileScanner.java:112)
[java] at
org.drools.agent.FileScanner.getChangeSet(FileScanner.java:79)
[java] at
org.drools.agent.FileScanner.loadPackageChanges(FileScanner.java:57)
[java] at
org.drools.agent.DirectoryScanner.loadPackageChanges(DirectoryScanner.java:43)
[java] at
org.drools.agent.RuleAgent.checkForChanges(RuleAgent.java:330)
[java] at
org.drools.agent.RuleAgent.refreshRuleBase(RuleAgent.java:298)
[java] at org.drools.agent.RuleAgent.configure(RuleAgent.java:284)
[java] at org.drools.agent.RuleAgent.init(RuleAgent.java:208)
[java] at
org.drools.agent.RuleAgent.newRuleAgent(RuleAgent.java:176)
[java] at
org.drools.agent.RuleAgent.newRuleAgent(RuleAgent.java:148)
=====
In looking at 4.0.7 code, the RuleBase object in ant task
org.drools.contrib.DroolsCompilerAntTask is serialized, but the p1_ =
(Package) in.readObject(); in the class org.drools.agent.FileScanner is not.
Any solution around this problem?
Thanks in advance for your professional help.
Regards
Wilson
More information about the rules-users
mailing list