You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2009/04/24 18:05:19 UTC

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

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);
     }