[
https://issues.jboss.org/browse/DROOLS-1142?page=com.atlassian.jira.plugi...
]
Mario Fusco resolved DROOLS-1142.
---------------------------------
Fix Version/s: 7.0.0.Beta1
Resolution: Done
I tried to reproduce this issue on master with the test case I'm pasting below but it
works for me. I'm pretty sure this has been fixed by
https://issues.jboss.org/browse/DROOLS-1119
{code}
@Test
public void testCepSerialization() {
String str =
"import " + MyEvent.class.getCanonicalName() + " \n"
+
"import " + java.util.Date.class.getCanonicalName() + "
\n" +
"declare MyEvent\n" +
" @role( event )\n" +
" @expires( 3s ) \n" +
"end\n" +
"\n" +
"rule 'MyEvent'\n" +
"when\n" +
" $m: MyEvent()\n" +
"then\n" +
" System.out.println(new Date() + \" demoReload: Got MyEvent,
id=\" + $m.getId());\n" +
"end\n";
KieServices ks = KieServices.Factory.get();
KieFileSystem kfs = ks.newKieFileSystem().write(
"src/main/resources/r1.drl", str );
ks.newKieBuilder( kfs ).buildAll();
KieBaseConfiguration kbConf = ks.newKieBaseConfiguration();
kbConf.setOption( EventProcessingOption.STREAM );
KieBase kieBase = ks.newKieContainer( ks.getRepository().getDefaultReleaseId()
).newKieBase(kbConf);
KieSession kieSession = ks.getStoreServices().newKieSession( kieBase, null, env
);
long kieSessionId = kieSession.getIdentifier();
kieSession.insert(new MyEvent("EVENT1"));
kieSession.fireAllRules();
kieSession.dispose();
// Timer in MyEvent.drl set for 3 second expiration, so it will already have
expired
// when session reload is attempted.
//
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
throw new RuntimeException( e );
}
kieSession = ks.getStoreServices().loadKieSession( kieSessionId, kieBase, null,
env );
kieSession.fireAllRules();
kieSession.dispose();
}
public static class MyEvent implements Serializable {
private String id;
public MyEvent(String id) {
this.id = id;
}
public String getId() {
return id;
}
}
{code}
Attempted reload of persisted KieSession operating in STREAM mode
throws Exceptions
-----------------------------------------------------------------------------------
Key: DROOLS-1142
URL:
https://issues.jboss.org/browse/DROOLS-1142
Project: Drools
Issue Type: Bug
Components: core engine
Affects Versions: 6.3.0.Final, 6.4.0.Final
Environment: Produced in Windows 7 environment
Reporter: Kevin Solveson
Assignee: Mario Fusco
Labels: jboss
Fix For: 7.0.0.Beta1
Please see
[
http://stackoverflow.com/questions/36755445/why-am-i-getting-exception-on...]
for a discussion of this issue. In short, I'm running a simple test where the
KieSession is operating in STREAM mode. I define "MyEvent" as an event and
specify that it should expire in 3s. After inserting the event, I dispose of the
KieSession, sleep for 5s (to allow the timer to expire), and then attempt to reload the
session. However, when I attempt the session reload, I get Exceptions as shown.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)