Repository: karaf Updated Branches: refs/heads/master 2925f3707 -> ef88f75e7
[KARAF-4866]detect JVM vendor and ensure correct saaj factories is picked up when it's IBM JDK Project: http://git-wip-us.apache.org/repos/asf/karaf/repo Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/ef88f75e Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/ef88f75e Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/ef88f75e Branch: refs/heads/master Commit: ef88f75e7359a6cd042715865f89ec69bf15dafa Parents: 2925f37 Author: Freeman Fang <[email protected]> Authored: Tue Nov 29 13:24:55 2016 +0800 Committer: Freeman Fang <[email protected]> Committed: Tue Nov 29 13:24:55 2016 +0800 ---------------------------------------------------------------------- .../org/apache/karaf/main/ConfigProperties.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/karaf/blob/ef88f75e/main/src/main/java/org/apache/karaf/main/ConfigProperties.java ---------------------------------------------------------------------- diff --git a/main/src/main/java/org/apache/karaf/main/ConfigProperties.java b/main/src/main/java/org/apache/karaf/main/ConfigProperties.java index b8ef054..ef8c3be 100644 --- a/main/src/main/java/org/apache/karaf/main/ConfigProperties.java +++ b/main/src/main/java/org/apache/karaf/main/ConfigProperties.java @@ -201,6 +201,8 @@ public class ConfigProperties { if (!karafEtc.exists()) { throw new FileNotFoundException("Karaf etc folder not found: " + karafEtc.getAbsolutePath()); } + + configureSAAJForIBMJVM(); PropertiesLoader.loadSystemProperties(new File(karafEtc, SYSTEM_PROPERTIES_FILE_NAME)); this.props = PropertiesLoader.loadConfigProperties(new File(karafEtc, CONFIG_PROPERTIES_FILE_NAME)); @@ -311,5 +313,20 @@ public class ConfigProperties { } return ibsl; } + + private void configureSAAJForIBMJVM() { + if (System.getProperty("java.vendor").equals("IBM Corporation")) { + System.setProperty("javax.xml.soap.MessageFactory", + "com.sun.xml.internal.messaging.saaj.soap.ver1_1.SOAPMessageFactory1_1Impl"); + System.setProperty("javax.xml.soap.SOAPFactory", + "com.sun.xml.internal.messaging.saaj.soap.ver1_1.SOAPFactory1_1Impl"); + System.setProperty("javax.xml.soap.SOAPConnectionFactory", + "com.sun.xml.internal.messaging.saaj.client.p2p.HttpSOAPConnectionFactory"); + System.setProperty("javax.xml.soap.MetaFactory", + "com.sun.xml.internal.messaging.saaj.soap.SAAJMetaFactoryImpl"); + } + + } + }
