[ 
https://issues.apache.org/jira/browse/CAMEL-3776?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13242206#comment-13242206
 ] 

Frank Kootte commented on CAMEL-3776:
-------------------------------------

Thank you for the swift, quick and clear reply.

Meanwhile - at TomTom - I have patched the component myself as we've been 
suffering from BLOCKED threads while retrieving instances of Marshallers & 
Unmarshallers ( see below stacktrace ) under heavy load. I've added a very 
basic implementation surrounding an Apache Commons Pool pooling - JAXBContexts 
( not strictly required ), Marshallers and Unmarshallers. 

{{code}}
java.lang.Thread.State: BLOCKED
    at 
com.sun.org.apache.xerces.internal.impl.dv.DTDDVFactory.getInstance(DTDDVFactory.java:44)
    - waiting to lock <6e5a3923> (a java.lang.Class) owned by "http-8080-17" 
t@158
    at 
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.<init>(XML11Configuration.java:538)
    at 
com.sun.org.apache.xerces.internal.parsers.XIncludeAwareParserConfiguration.<init>(XIncludeAwareParserConfiguration.java:125)
    at 
com.sun.org.apache.xerces.internal.parsers.XIncludeAwareParserConfiguration.<init>(XIncludeAwareParserConfiguration.java:86)
    at sun.reflect.GeneratedConstructorAccessor35.newInstance(Unknown Source)
    at 
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    at java.lang.Class.newInstance0(Class.java:355)
    at java.lang.Class.newInstance(Class.java:308)
    at 
com.sun.org.apache.xerces.internal.parsers.ObjectFactory.newInstance(ObjectFactory.java:349)
    at 
com.sun.org.apache.xerces.internal.parsers.ObjectFactory.createObject(ObjectFactory.java:154)
    at 
com.sun.org.apache.xerces.internal.parsers.ObjectFactory.createObject(ObjectFactory.java:97)
    at 
com.sun.org.apache.xerces.internal.parsers.SAXParser.<init>(SAXParser.java:102)
    at 
com.sun.org.apache.xerces.internal.parsers.SAXParser.<init>(SAXParser.java:87)
    at 
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.<init>(SAXParserImpl.java:332)
    at 
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.<init>(SAXParserImpl.java:122)
    at 
com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl.newSAXParser(SAXParserFactoryImpl.java:76)
    at 
javax.xml.bind.helpers.AbstractUnmarshallerImpl.getXMLReader(AbstractUnmarshallerImpl.java:86)
    at 
javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:137)
    at 
javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:184)
    at 
org.apache.camel.converter.jaxb.FallbackTypeConverter.unmarshal(FallbackTypeConverter.java:199)
{{code}}
                
> Add pooling support for JAXB data format
> ----------------------------------------
>
>                 Key: CAMEL-3776
>                 URL: https://issues.apache.org/jira/browse/CAMEL-3776
>             Project: Camel
>          Issue Type: New Feature
>          Components: camel-jaxb
>            Reporter: Claus Ibsen
>             Fix For: 3.0.0
>
>
> We should use the ServicePool in camel-core to pool JAXB / marshaller / 
> unmarshaller.
> Of course ppl should be able to customize pool settings and if to be used.
> Also mind that for type converters with JAXB you do not configure a JAXB data 
> format. And thus we should
> still be able to configure and use pooling, so the type converter can be more 
> efficient.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to