You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@servicemix.apache.org by "Guillaume Nodet (JIRA)" <ji...@apache.org> on 2007/03/15 09:24:35 UTC

[jira] Commented: (SM-877) Bottleneck in SoapReader.readSoapUsingDom()

    [ https://issues.apache.org/activemq/browse/SM-877?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_38827 ] 

Guillaume Nodet commented on SM-877:
------------------------------------

Backport to 3.1 branch

$ svn commit -m "SM-877: Bottleneck in SoapReader.readSoapUsingDom()"
Sending        servicemix-soap/src/main/java/org/apache/servicemix/soap/marshalers/SoapReader.java
Transmitting file data .
Committed revision 518510.

> Bottleneck in SoapReader.readSoapUsingDom()
> -------------------------------------------
>
>                 Key: SM-877
>                 URL: https://issues.apache.org/activemq/browse/SM-877
>             Project: ServiceMix
>          Issue Type: Improvement
>    Affects Versions: 3.1
>         Environment: ServiceMix 3.1
>            Reporter: Alex Boisvert
>         Assigned To: Alex Boisvert
>            Priority: Minor
>             Fix For: 3.1.1, 3.2
>
>         Attachments: SoapReader.patch.txt
>
>
> This stacktrace illustrates a bottleneck in SoapReader.readSoapUsingDom() due to creating its own DocumentBuilders:
> "btpool0-14" prio=1 tid=0x7dc857d0 nid=0x4f28 waiting for monitor entry [0x79f35000..0x79f35e60]
>         at org.apache.xbean.classloader.NamedClassLoader.isDestroyed(NamedClassLoader.java:76)
>         - waiting to lock <0x915cb918> (a org.apache.xbean.classloader.JarFileClassLoader)
>         at org.apache.xbean.classloader.MultiParentClassLoader.getResource(MultiParentClassLoader.java:238)
>         at org.apache.xbean.classloader.MultiParentClassLoader.getResource(MultiParentClassLoader.java:258)
>         at java.lang.ClassLoader.getResourceAsStream(ClassLoader.java:1159)
>         at javax.xml.parsers.SecuritySupport$4.run(SecuritySupport.java:72)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at javax.xml.parsers.SecuritySupport.getResourceAsStream(SecuritySupport.java:65)
>         at javax.xml.parsers.FactoryFinder.findJarServiceProvider(FactoryFinder.java:213)
>         at javax.xml.parsers.FactoryFinder.find(FactoryFinder.java:185)
>         at javax.xml.parsers.DocumentBuilderFactory.newInstance(DocumentBuilderFactory.java:98)
>         at org.apache.servicemix.soap.marshalers.SoapReader.readSoapUsingDom(SoapReader.java:93)
>         at org.apache.servicemix.soap.marshalers.SoapReader.read(SoapReader.java:80)
>         at org.apache.servicemix.soap.marshalers.SoapReader.read(SoapReader.java:73)
>         at org.apache.servicemix.http.processors.ConsumerProcessor.process(ConsumerProcessor.java:164)
>         at org.apache.servicemix.http.HttpBridgeServlet.doPost(HttpBridgeServlet.java:71)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
>         at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:445)
>         at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:356)
>         at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:627)
>         at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:149)
>         at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:123)
>         at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:141)
>         at org.mortbay.jetty.Server.handle(Server.java:269)
>         at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:430)
>         at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:701)
>         at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:698)
>         at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:199)
>         at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:339)
>         at org.mortbay.jetty.nio.HttpChannelEndPoint.run(HttpChannelEndPoint.java:270)
>         at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)
> Attaching patch to use DOMUtil.getDocumentBuilder() instead.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.