[jboss-svn-commits] JBL Code SVN: r18479 - labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Feb 14 01:11:42 EST 2008


Author: michael.neale at jboss.com
Date: 2008-02-14 01:11:41 -0500 (Thu, 14 Feb 2008)
New Revision: 18479

Modified:
   labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RulesRepository.java
Log:
race condition when loading initialized repository

Modified: labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RulesRepository.java
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RulesRepository.java	2008-02-13 23:04:21 UTC (rev 18478)
+++ labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RulesRepository.java	2008-02-14 06:11:41 UTC (rev 18479)
@@ -796,10 +796,12 @@
         Node folderNode = this.getAreaNode( RULE_PACKAGE_AREA );
 
         try {
-            if ( !folderNode.hasNode( DEFAULT_PACKAGE ) ) {
-                createPackage( DEFAULT_PACKAGE, "The default rule package" );
-                folderNode = this.getAreaNode( RULE_PACKAGE_AREA );
-            }
+        	synchronized (RulesRepository.class) {
+        		if ( !folderNode.hasNode( DEFAULT_PACKAGE ) ) {
+        			createPackage( DEFAULT_PACKAGE, "The default rule package" );
+        			folderNode = this.getAreaNode( RULE_PACKAGE_AREA );
+        		}
+        	}
             return new PackageIterator( this,
                                         folderNode.getNodes() );
         } catch ( RepositoryException e ) {




More information about the jboss-svn-commits mailing list