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