You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Gilles Diacon (JIRA)" <ji...@apache.org> on 2019/04/24 13:55:00 UTC
[jira] [Commented] (CXF-8028) Performance problem with very big
request
[ https://issues.apache.org/jira/browse/CXF-8028?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16825172#comment-16825172 ]
Gilles Diacon commented on CXF-8028:
------------------------------------
maybe related to CXF-8014
> Performance problem with very big request
> ------------------------------------------
>
> Key: CXF-8028
> URL: https://issues.apache.org/jira/browse/CXF-8028
> Project: CXF
> Issue Type: Bug
> Components: Core, JAX-WS Runtime
> Affects Versions: 3.3.0
> Reporter: Gilles Diacon
> Priority: Critical
>
> I am using CXF as webservice client for years and since the migration of my application from Java 8 to Java 11 I have noticed a performance degradation on very big request
> after digging in the code I found following methods in {{DOMUtils.java}}
> {code:java}
> /**
> * Try to get the DOM Node from the SAAJ Node with JAVA9 afterwards
> * @param node The original node we need check
> * @return The DOM node
> */
> public static Node getDomElement(Node node) {
> if (node != null && isJava9SAAJ()) {
> //java9plus hack
> try {
> Method method = node.getClass().getMethod("getDomElement");
> node = (Node)method.invoke(node);
> } catch (NoSuchMethodException e) {
> //best effort to try, do nothing if NoSuchMethodException
> } catch (Exception e) {
> throw new RuntimeException(e);
> }
> }
> return node;
> }
> {code}
> CXF-7270 + CXF-7683 + CXF-7741 + CXF-7847
> when {{getDomelement()}} method doesn't exist on the Node, an exception of type {{NoSuchMethodException}} is created which normally takes 1 milliseconds (mainly used to fill the {{stacktrace}})
> (similar problem for {{getDomDocumentFragment()}} method)
> but if the document is really big and contains more than 30'000 elements, the repetitive creation of this exception could cost a some seconds ...
> I have fixed this performance by caching node without {{getDomElement()}} method to avoid repetitive exception but I am not sure if it's a good solution
> can you help me with this performance problem?
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)