Repository: karaf
Updated Branches:
  refs/heads/karaf-4.0.x 6c03e3223 -> b595567cf


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

(cherry picked from commit ef88f75e7359a6cd042715865f89ec69bf15dafa)


Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/b595567c
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/b595567c
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/b595567c

Branch: refs/heads/karaf-4.0.x
Commit: b595567cff69a78e105615b8e2031e269f3730e7
Parents: 6c03e32
Author: Freeman Fang <[email protected]>
Authored: Tue Nov 29 13:24:55 2016 +0800
Committer: Freeman Fang <[email protected]>
Committed: Tue Nov 29 13:26:25 2016 +0800

----------------------------------------------------------------------
 .../org/apache/karaf/main/ConfigProperties.java    | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf/blob/b595567c/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 0383191..e5d5705 100644
--- a/main/src/main/java/org/apache/karaf/main/ConfigProperties.java
+++ b/main/src/main/java/org/apache/karaf/main/ConfigProperties.java
@@ -196,6 +196,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));
@@ -296,5 +298,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");
+        }
+
+    }
+
     
 }

Reply via email to