[jboss-svn-commits] JBL Code SVN: r25484 - labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Mar 3 12:48:43 EST 2009
Author: mark.proctor at jboss.com
Date: 2009-03-03 12:48:42 -0500 (Tue, 03 Mar 2009)
New Revision: 25484
Modified:
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractRuleBase.java
Log:
JBRULES-1876 Deadlock when RuleAgent thread refreshes rules while another thread creates a statefulSession
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractRuleBase.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractRuleBase.java 2009-03-03 17:21:24 UTC (rev 25483)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractRuleBase.java 2009-03-03 17:48:42 UTC (rev 25484)
@@ -737,11 +737,14 @@
public void removeRule(final Package pkg,
final Rule rule) {
- this.eventSupport.fireBeforeRuleRemoved( pkg,
- rule );
- removeRule( rule );
- this.eventSupport.fireAfterRuleRemoved( pkg,
- rule );
+ synchronized ( this.pkgs ) {
+ this.eventSupport.fireBeforeRuleRemoved( pkg,
+ rule );
+
+ removeRule( rule );
+ this.eventSupport.fireAfterRuleRemoved( pkg,
+ rule );
+ }
}
protected abstract void removeRule(Rule rule);
More information about the jboss-svn-commits
mailing list