[rules-users] HELP - Error when accessing RuleAgent

kissro at lidp.com kissro at lidp.com
Tue Sep 11 09:08:51 EDT 2007


I've created the following rule in BRMS and deployed it - 

rule "Underwriting Rule 1"
        dialect "mvel"
    when
           p : Policy( premium < "50.00" )
    then
           p.setStatus( 32 );
end

I have the following code processing the rule - 

 public void main(Policy inputPolicy) throws Exception
 {
     RuleBase ruleBase = loadRuleBase();
     StatefulSession session = ruleBase.newStatefulSession();
     session.insert(inputPolicy);
     session.fireAllRules();
  }

 private RuleBase loadRuleBase() throws IOException, Exception
 {
     RuleAgent agent = RuleAgent.newRuleAgent("/uwrules.properties");
     RuleBase ruleBase = agent.getRuleBase();

     return ruleBase;
  }

When I run my application I get the following error.  Could someone tell
me why or where to look to determine the reason?   Do I have something
coded incorrectly?

Exception in thread "main" javax.ejb.EJBException:
   java.lang.ClassCastException: java.util.HashSet
        at
org.jboss.ejb3.tx.Ejb3TxPolicy.handleExceptionInOurTx(Ejb3TxPolicy.java:63)
        at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:83)
        at
org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:191)
        .
        .
        .
Caused by: java.lang.ClassCastException: java.util.HashSet
        at org.drools.rule.Package.readExternal(Package.java:172)
        at java.io.ObjectInputStream.readExternalData(Unknown Source)
        at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
        at java.io.ObjectInputStream.readObject0(Unknown Source)
        at java.io.ObjectInputStream.readObject(Unknown Source)
        at
     org.drools.agent.HttpClientImpl.fetchPackage(HttpClientImpl.java:54)
        at org.drools.agent.URLScanner.readPackage(URLScanner.java:137)
        at org.drools.agent.URLScanner.getChangeSet(URLScanner.java:109)
        at
     org.drools.agent.URLScanner.loadPackageChanges(URLScanner.java:88)
        at
   org.drools.agent.RuleAgent.checkForChanges(RuleAgent.java:297)
        at
     org.drools.agent.RuleAgent.refreshRuleBase(RuleAgent.java:265)
        at org.drools.agent.RuleAgent.configure(RuleAgent.java:251)
        at org.drools.agent.RuleAgent.init(RuleAgent.java:183)
        at org.drools.agent.RuleAgent.newRuleAgent(RuleAgent.java:192) 




More information about the rules-users mailing list