[jboss-svn-commits] JBL Code SVN: r34225 - labs/jbossesb/trunk/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Jul 27 12:53:47 EDT 2010
Author: dward
Date: 2010-07-27 12:53:46 -0400 (Tue, 27 Jul 2010)
New Revision: 34225
Modified:
labs/jbossesb/trunk/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/DroolsResourceChangeService.java
Log:
Fix for JBESB-3393 ( https://jira.jboss.org/browse/JBESB-3393 ).
Modified: labs/jbossesb/trunk/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/DroolsResourceChangeService.java
===================================================================
--- labs/jbossesb/trunk/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/DroolsResourceChangeService.java 2010-07-27 16:03:31 UTC (rev 34224)
+++ labs/jbossesb/trunk/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/DroolsResourceChangeService.java 2010-07-27 16:53:46 UTC (rev 34225)
@@ -22,6 +22,8 @@
import org.apache.log4j.Logger;
import org.drools.SystemEventListener;
import org.drools.SystemEventListenerFactory;
+import org.drools.agent.impl.PrintStreamSystemEventListener;
+import org.drools.core.util.DelegatingSystemEventListener;
import org.drools.io.ResourceChangeScanner;
import org.drools.io.ResourceChangeScannerConfiguration;
import org.drools.io.ResourceFactory;
@@ -49,6 +51,14 @@
// 1) set the system event listener to our implementation
originalSystemEventListener = SystemEventListenerFactory.getSystemEventListener();
+ if (originalSystemEventListener == null || originalSystemEventListener instanceof DelegatingSystemEventListener)
+ {
+ // We need to check for DelegatingSystemEventListener so we don't get a
+ // StackOverflowError when we set it back. If it is a DelegatingSystemEventListener,
+ // we instead use what drools wraps by default, which is PrintStreamSystemEventListener.
+ // Refer to org.drools.impl.SystemEventListenerServiceImpl for more information.
+ originalSystemEventListener = new PrintStreamSystemEventListener();
+ }
SystemEventListenerFactory.setSystemEventListener(new LogSystemEventListener());
// 2) start the notifier
More information about the jboss-svn-commits
mailing list