Author: davsclaus
Date: Fri Apr 24 16:05:19 2009
New Revision: 768342

URL: http://svn.apache.org/viewvc?rev=768342&view=rev
Log:
CAMEL-1565: Validator component now thread safe when loading schema as its done 
at init time.

Modified:
    
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/validation/ValidatingProcessor.java
    
camel/trunk/components/camel-spring/src/main/java/org/apache/camel/component/validator/ValidatorComponent.java

Modified: 
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/validation/ValidatingProcessor.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/validation/ValidatingProcessor.java?rev=768342&r1=768341&r2=768342&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/validation/ValidatingProcessor.java
 (original)
+++ 
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/validation/ValidatingProcessor.java
 Fri Apr 24 16:05:19 2009
@@ -69,6 +69,11 @@
         handler.handleErrors(exchange, schema, result);
     }
 
+    public void loadSchema() throws Exception {
+        // force loading of schema
+        schema = createSchema();
+    }
+
     // Properties
     // -----------------------------------------------------------------------
 

Modified: 
camel/trunk/components/camel-spring/src/main/java/org/apache/camel/component/validator/ValidatorComponent.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/main/java/org/apache/camel/component/validator/ValidatorComponent.java?rev=768342&r1=768341&r2=768342&view=diff
==============================================================================
--- 
camel/trunk/components/camel-spring/src/main/java/org/apache/camel/component/validator/ValidatorComponent.java
 (original)
+++ 
camel/trunk/components/camel-spring/src/main/java/org/apache/camel/component/validator/ValidatorComponent.java
 Fri Apr 24 16:05:19 2009
@@ -39,6 +39,11 @@
             log.debug(this + " using schema resource: " + resource);
         }
         configureValidator(validator, uri, remaining, parameters);
+
+        // force loading of schema at create time otherwise concurrent 
processing could
+        // cause thread safe issues for the javax.xml.validation.SchemaFactory
+        validator.loadSchema();
+
         return new ProcessorEndpoint(uri, this, validator);
     }
 


Reply via email to