You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2013/10/25 13:08:27 UTC
svn commit: r1535684 - in /tomee/tomee/trunk/server/openejb-webservices/src:
main/java/org/apache/openejb/server/webservices/saaj/
test/java/org/apache/openejb/server/webservices/saaj/
Author: rmannibucau
Date: Fri Oct 25 11:08:26 2013
New Revision: 1535684
URL: http://svn.apache.org/r1535684
Log:
using sun default soap*factories + using sun as default provider if using our factories. We saw with jlmonteiro it can help a lot under some conditions when security is on.
Modified:
tomee/tomee/trunk/server/openejb-webservices/src/main/java/org/apache/openejb/server/webservices/saaj/SaajFactoryFinder.java
tomee/tomee/trunk/server/openejb-webservices/src/main/java/org/apache/openejb/server/webservices/saaj/SaajUniverse.java
tomee/tomee/trunk/server/openejb-webservices/src/test/java/org/apache/openejb/server/webservices/saaj/SaajUniverseTest.java
Modified: tomee/tomee/trunk/server/openejb-webservices/src/main/java/org/apache/openejb/server/webservices/saaj/SaajFactoryFinder.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-webservices/src/main/java/org/apache/openejb/server/webservices/saaj/SaajFactoryFinder.java?rev=1535684&r1=1535683&r2=1535684&view=diff
==============================================================================
--- tomee/tomee/trunk/server/openejb-webservices/src/main/java/org/apache/openejb/server/webservices/saaj/SaajFactoryFinder.java (original)
+++ tomee/tomee/trunk/server/openejb-webservices/src/main/java/org/apache/openejb/server/webservices/saaj/SaajFactoryFinder.java Fri Oct 25 11:08:26 2013
@@ -53,17 +53,23 @@ class SaajFactoryFinder {
}
private static void initDefaultSAAJProvider() {
- final String provider = SystemInstance.get().getOptions().get(SAAJ_PROVIDER_PROPERTY, (String) null);
+ final String provider = SystemInstance.get().getOptions().get(SAAJ_PROVIDER_PROPERTY, "sun"); // sun is the best default we can get + can impact perfs a lot
if (provider != null) {
if (provider.equalsIgnoreCase("axis2")) {
DEFAULT_SAAJ_UNIVERSE = SaajUniverse.Type.AXIS2;
} else if (provider.equalsIgnoreCase("sun")) {
DEFAULT_SAAJ_UNIVERSE = SaajUniverse.Type.SUN;
+ } else if (provider.equalsIgnoreCase("default")) {
+ DEFAULT_SAAJ_UNIVERSE = null;
} else {
throw new ServerRuntimeException("Invalid SAAJ universe specified: " + provider);
}
- logger.info("Default SAAJ universe: " + DEFAULT_SAAJ_UNIVERSE);
+ if (DEFAULT_SAAJ_UNIVERSE != null) {
+ logger.info("Default SAAJ universe: " + DEFAULT_SAAJ_UNIVERSE);
+ } else {
+ logger.info("Default SAAJ universe not set");
+ }
} else {
logger.info("Default SAAJ universe not set");
}
Modified: tomee/tomee/trunk/server/openejb-webservices/src/main/java/org/apache/openejb/server/webservices/saaj/SaajUniverse.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-webservices/src/main/java/org/apache/openejb/server/webservices/saaj/SaajUniverse.java?rev=1535684&r1=1535683&r2=1535684&view=diff
==============================================================================
--- tomee/tomee/trunk/server/openejb-webservices/src/main/java/org/apache/openejb/server/webservices/saaj/SaajUniverse.java (original)
+++ tomee/tomee/trunk/server/openejb-webservices/src/main/java/org/apache/openejb/server/webservices/saaj/SaajUniverse.java Fri Oct 25 11:08:26 2013
@@ -16,6 +16,7 @@
*/
package org.apache.openejb.server.webservices.saaj;
+import org.apache.openejb.loader.SystemInstance;
import org.apache.openejb.util.LogCategory;
import org.apache.openejb.util.Logger;
@@ -25,10 +26,12 @@ public class SaajUniverse {
private static final Logger logger = Logger.getInstance(LogCategory.OPENEJB_WS, SaajUniverse.class);
static {
- setProperty("javax.xml.soap.MessageFactory", "org.apache.openejb.server.webservices.saaj.MessageFactoryImpl");
- setProperty("javax.xml.soap.SOAPFactory", "org.apache.openejb.server.webservices.saaj.SoapFactoryImpl");
- setProperty("javax.xml.soap.SOAPConnectionFactory", "org.apache.openejb.server.webservices.saaj.SoapConnectionFactoryImpl");
- setProperty("javax.xml.soap.MetaFactory", "org.apache.openejb.server.webservices.saaj.SaajMetaFactoryImpl");
+ if (SystemInstance.get().getOptions().get("openejb.soap.override-factory", false)) { // default are far faster than our chain
+ setProperty("javax.xml.soap.MessageFactory", "org.apache.openejb.server.webservices.saaj.MessageFactoryImpl");
+ setProperty("javax.xml.soap.SOAPFactory", "org.apache.openejb.server.webservices.saaj.SoapFactoryImpl");
+ setProperty("javax.xml.soap.SOAPConnectionFactory", "org.apache.openejb.server.webservices.saaj.SoapConnectionFactoryImpl");
+ setProperty("javax.xml.soap.MetaFactory", "org.apache.openejb.server.webservices.saaj.SaajMetaFactoryImpl");
+ }
}
private static void setProperty(String name, String value) {
Modified: tomee/tomee/trunk/server/openejb-webservices/src/test/java/org/apache/openejb/server/webservices/saaj/SaajUniverseTest.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-webservices/src/test/java/org/apache/openejb/server/webservices/saaj/SaajUniverseTest.java?rev=1535684&r1=1535683&r2=1535684&view=diff
==============================================================================
--- tomee/tomee/trunk/server/openejb-webservices/src/test/java/org/apache/openejb/server/webservices/saaj/SaajUniverseTest.java (original)
+++ tomee/tomee/trunk/server/openejb-webservices/src/test/java/org/apache/openejb/server/webservices/saaj/SaajUniverseTest.java Fri Oct 25 11:08:26 2013
@@ -27,6 +27,16 @@ public class SaajUniverseTest extends Te
private static final String DEFAULT_MESSAGE_CLASS = SUN_MESSAGE_CLASS;
+ @Override
+ public void setUp() {
+ System.setProperty("openejb.soap.override-factory", "true");
+ }
+
+ @Override
+ public void tearDown() {
+ System.clearProperty("openejb.soap.override-factory");
+ }
+
public void testBasic() throws Exception {
// case 1, universe not set
//assertEquals(DEFAULT_MESSAGE_CLASS, MessageFactory.newInstance().createMessage().getClass().getName());