This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push: new 804fdbb StaxConverter: Make input and output factory pool size implementation… (#6380) 804fdbb is described below commit 804fdbb205b7ce70adafb8d9b45ef52dff0f4216 Author: Pascal Schumacher <pascalschumac...@gmx.net> AuthorDate: Fri Nov 5 06:56:48 2021 +0100 StaxConverter: Make input and output factory pool size implementation… (#6380) * StaxConverter: Make input and output factory pool size implementation match comments. Comments suggests that Runtime#availableProcessors should be used as pool size when it is greater than 20, but the current implementation uses Runtime#availableProcessors regardless of the amount of processors available if the system property "org.apache.cxf.staxutils.pool-size" is not set. * StaxConverter: Stop using the system property "org.apache.cxf.staxutils.pool-size" when determining the input and output factory pool size. --- .../apache/camel/converter/jaxp/StaxConverter.java | 33 +++++----------------- 1 file changed, 7 insertions(+), 26 deletions(-) diff --git a/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/StaxConverter.java b/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/StaxConverter.java index 1f306f7..294a8f1 100644 --- a/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/StaxConverter.java +++ b/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/StaxConverter.java @@ -24,8 +24,6 @@ import java.io.OutputStream; import java.io.Reader; import java.io.StringReader; import java.io.Writer; -import java.security.AccessController; -import java.security.PrivilegedAction; import java.util.concurrent.BlockingQueue; import java.util.concurrent.LinkedBlockingQueue; @@ -57,38 +55,21 @@ public class StaxConverter { private static final BlockingQueue<XMLInputFactory> INPUT_FACTORY_POOL; private static final BlockingQueue<XMLOutputFactory> OUTPUT_FACTORY_POOL; static { - int i = 20; - try { - String s = AccessController.doPrivileged(new PrivilegedAction<String>() { - @Override - public String run() { - return System.getProperty("org.apache.cxf.staxutils.pool-size", "-1"); - } - }); - i = Integer.parseInt(s); - } catch (Exception t) { - //ignore - i = 20; - } + int poolSize = 20; try { // if we have more cores than 20, then use that int cores = Runtime.getRuntime().availableProcessors(); - if (cores > i) { - i = cores; + if (cores > poolSize) { + poolSize = cores; } - } catch (Exception t) { + } catch (Exception ignored) { // ignore - i = 20; - } - - if (i <= 0) { - i = 20; } - LOG.debug("StaxConverter pool size: {}", i); + LOG.debug("StaxConverter pool size: {}", poolSize); - INPUT_FACTORY_POOL = new LinkedBlockingQueue<>(i); - OUTPUT_FACTORY_POOL = new LinkedBlockingQueue<>(i); + INPUT_FACTORY_POOL = new LinkedBlockingQueue<>(poolSize); + OUTPUT_FACTORY_POOL = new LinkedBlockingQueue<>(poolSize); } private XMLInputFactory inputFactory;