[jboss-svn-commits] JBL Code SVN: r18232 - labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/mvel.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Jan 31 18:32:08 EST 2008


Author: tirelli
Date: 2008-01-31 18:32:08 -0500 (Thu, 31 Jan 2008)
New Revision: 18232

Modified:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/mvel/MVELConsequence.java
Log:
JBRULES-1392: fixing multi-thread problem

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/mvel/MVELConsequence.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/mvel/MVELConsequence.java	2008-01-31 23:22:14 UTC (rev 18231)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/mvel/MVELConsequence.java	2008-01-31 23:32:08 UTC (rev 18232)
@@ -16,21 +16,22 @@
     private static final long       serialVersionUID = 400L;
 
     private final Serializable      expr;
-    private final DroolsMVELFactory factory;
+    private final DroolsMVELFactory prototype;
 
     public MVELConsequence(final Serializable expr,
                            final DroolsMVELFactory factory) {
         this.expr = expr;
-        this.factory = factory;
+        this.prototype = factory;
     }
 
     public void evaluate(final KnowledgeHelper knowledgeHelper,
                          final WorkingMemory workingMemory) throws Exception {
-        this.factory.setContext( knowledgeHelper.getTuple(),
-                                 knowledgeHelper,
-                                 null,
-                                 workingMemory,
-                                 null );
+        DroolsMVELFactory factory = (DroolsMVELFactory) this.prototype.clone();
+        factory.setContext( knowledgeHelper.getTuple(),
+                            knowledgeHelper,
+                            null,
+                            workingMemory,
+                            null );
         CompiledExpression compexpr = (CompiledExpression) this.expr;
 
         //Receive breakpoints from debugger
@@ -42,11 +43,11 @@
             }
             MVEL.executeDebugger( compexpr,
                                   null,
-                                  this.factory );
+                                  factory );
         } else {
             MVEL.executeExpression( compexpr,
                                     null,
-                                    this.factory );
+                                    factory );
         }
 
     }




More information about the jboss-svn-commits mailing list