You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by ff...@apache.org on 2016/11/29 05:25:17 UTC

karaf git commit: [KARAF-4866]detect JVM vendor and ensure correct saaj factories is picked up when it's IBM JDK

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 <fr...@gmail.com>
Authored: Tue Nov 29 13:24:55 2016 +0800
Committer: Freeman Fang <fr...@gmail.com>
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");
+        }
+
+    }
+
     
 }