[jboss-svn-commits] JBL Code SVN: r33555 - in labs/jbossrules/trunk: drools-persistence-jpa/src/main/java/org/drools/persistence/session and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Jun 18 17:06:32 EDT 2010
Author: tirelli
Date: 2010-06-18 17:06:32 -0400 (Fri, 18 Jun 2010)
New Revision: 33555
Modified:
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/rule/FireUntilHaltCommand.java
labs/jbossrules/trunk/drools-persistence-jpa/src/main/java/org/drools/persistence/session/SingleSessionCommandService.java
Log:
JBRULES-2552: making FireUntilHaltCommand non-blocking.
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/rule/FireUntilHaltCommand.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/rule/FireUntilHaltCommand.java 2010-06-18 20:21:58 UTC (rev 33554)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/rule/FireUntilHaltCommand.java 2010-06-18 21:06:32 UTC (rev 33555)
@@ -11,6 +11,7 @@
public class FireUntilHaltCommand
implements
GenericCommand<Object> {
+ private static final long serialVersionUID = -482292109159215861L;
private AgendaFilter agendaFilter = null;
@@ -23,12 +24,17 @@
public Integer execute(Context context) {
StatefulKnowledgeSession ksession = ((KnowledgeCommandContext) context).getStatefulKnowledgesession();
- ReteooWorkingMemory session = ((StatefulKnowledgeSessionImpl)ksession).session;
- if ( agendaFilter != null ) {
- session.fireUntilHalt( new StatefulKnowledgeSessionImpl.AgendaFilterWrapper( agendaFilter ) );
- } else {
- session.fireUntilHalt();
- }
+ final ReteooWorkingMemory session = ((StatefulKnowledgeSessionImpl)ksession).session;
+
+ new Thread(new Runnable() {
+ public void run() {
+ if ( agendaFilter != null ) {
+ session.fireUntilHalt( new StatefulKnowledgeSessionImpl.AgendaFilterWrapper( agendaFilter ) );
+ } else {
+ session.fireUntilHalt();
+ }
+ }
+ }).start();
return null;
}
Modified: labs/jbossrules/trunk/drools-persistence-jpa/src/main/java/org/drools/persistence/session/SingleSessionCommandService.java
===================================================================
--- labs/jbossrules/trunk/drools-persistence-jpa/src/main/java/org/drools/persistence/session/SingleSessionCommandService.java 2010-06-18 20:21:58 UTC (rev 33554)
+++ labs/jbossrules/trunk/drools-persistence-jpa/src/main/java/org/drools/persistence/session/SingleSessionCommandService.java 2010-06-18 21:06:32 UTC (rev 33555)
@@ -221,8 +221,6 @@
}
public synchronized <T> T execute(GenericCommand<T> command) {
- ksession.halt();
-
boolean localTransaction = false;
UserTransaction ut = null;
try {
More information about the jboss-svn-commits
mailing list