Uploaded image for project: 'Camel'
  1. Camel
  2. CAMEL-1565

Make camel-validation thread-safe

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.4.0
    • Fix Version/s: 1.6.1, 2.0-M2
    • Component/s: camel-core
    • Labels:
      None

      Description

      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?

        Attachments

          Activity

            People

            • Assignee:
              davsclaus Claus Ibsen
              Reporter:
              raulvk Raúl Kripalani
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: