Make camel-validation thread-safe --------------------------------- Key: CAMEL-1565 URL: https://issues.apache.org/activemq/browse/CAMEL-1565 Project: Apache Camel Issue Type: Bug Components: camel-core Affects Versions: 1.4.0 Reporter: Raul Kripalani
When a flow which contains a camel-validation endpoint is started, the XSD schemas are not loaded until the first request comes in and the camel-validation endpoint is first hit. If two requests come in simultaneously, the initialization will be performed twice, at the same time. It seems that SchemaFactory is not thread-safe, so this results in the following exception: 10:38:20,860 | ERROR - org.apache.camel.processor.DeadLetterChannel - org.apache.camel.processor.Logger - Failed delivery for exchangeId: ID-ATOS-B624 E47AF0/3211-1240562892751/0-11. On delivery attempt: 0 caught: org.xml.sax.SAXException: FWK005 parse may not be called while parsing. org.xml.sax.SAXException: FWK005 parse may not be called while parsing. at com.sun.org.apache.xerces.internal.jaxp.validation.Util.toSAXException(Util.java:62) at com.sun.org.apache.xerces.internal.jaxp.validation.XMLSchemaFactory.newSchema(XMLSchemaFactory.java:214) at javax.xml.validation.SchemaFactory.newSchema(SchemaFactory.java:594) at org.apache.camel.processor.validation.ValidatingProcessor.createSchema(ValidatingProcessor.java:204) at org.apache.camel.processor.validation.ValidatingProcessor.getSchema(ValidatingProcessor.java:118) at org.apache.camel.processor.validation.ValidatingProcessor.process(ValidatingProcessor.java:54) at org.apache.camel.impl.ProcessorEndpoint.onExchange(ProcessorEndpoint.java:92) at org.apache.camel.impl.ProcessorEndpoint$1.process(ProcessorEndpoint.java:66) at org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:43) ..... For more info: http://www.nabble.com/Concurrency-Issue-with-camel-validation-td23213294.html Is it possible to backport the fix to 1.4? -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.