You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by ru...@apache.org on 2009/10/07 20:42:17 UTC

svn commit: r822835 - in /synapse/trunk/java/modules/transports/core/nhttp: ./ src/main/java/org/apache/synapse/transport/nhttp/

Author: ruwan
Date: Wed Oct  7 18:42:16 2009
New Revision: 822835

URL: http://svn.apache.org/viewvc?rev=822835&view=rev
Log:
Switching to the httpcore-4.1-alpha1 and the changes for synapse to work on IBM JDK

Modified:
    synapse/trunk/java/modules/transports/core/nhttp/pom.xml
    synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/HttpCoreNIOListener.java
    synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/HttpCoreNIOSender.java
    synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/NHttpConfiguration.java

Modified: synapse/trunk/java/modules/transports/core/nhttp/pom.xml
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/pom.xml?rev=822835&r1=822834&r2=822835&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/core/nhttp/pom.xml (original)
+++ synapse/trunk/java/modules/transports/core/nhttp/pom.xml Wed Oct  7 18:42:16 2009
@@ -149,7 +149,7 @@
     </dependencies>
 
     <properties>
-        <httpcore.nio.version>4.0</httpcore.nio.version>
+        <httpcore.nio.version>4.1-alpha1</httpcore.nio.version>
     </properties>
 
 </project>
\ No newline at end of file

Modified: synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/HttpCoreNIOListener.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/HttpCoreNIOListener.java?rev=822835&r1=822834&r2=822835&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/HttpCoreNIOListener.java (original)
+++ synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/HttpCoreNIOListener.java Wed Oct  7 18:42:16 2009
@@ -37,6 +37,7 @@
 import org.apache.http.impl.nio.reactor.DefaultListeningIOReactor;
 import org.apache.http.impl.nio.reactor.SSLIOSessionHandler;
 import org.apache.http.nio.NHttpServiceHandler;
+import org.apache.http.nio.params.NIOReactorPNames;
 import org.apache.http.nio.reactor.IOEventDispatch;
 import org.apache.http.nio.reactor.IOReactorExceptionHandler;
 import org.apache.http.nio.reactor.ListenerEndpoint;
@@ -121,6 +122,10 @@
             .setBooleanParameter(HttpConnectionParams.TCP_NODELAY,
                 cfg.getProperty(HttpConnectionParams.TCP_NODELAY, 1) == 1)
             .setParameter(HttpProtocolParams.ORIGIN_SERVER, "Synapse-HttpComponents-NIO");
+
+        if (cfg.getBooleanValue(NIOReactorPNames.INTEREST_OPS_QUEUEING, false)) {
+            params.setBooleanParameter(NIOReactorPNames.INTEREST_OPS_QUEUEING, true);
+        }
         return params;
     }
 

Modified: synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/HttpCoreNIOSender.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/HttpCoreNIOSender.java?rev=822835&r1=822834&r2=822835&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/HttpCoreNIOSender.java (original)
+++ synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/HttpCoreNIOSender.java Wed Oct  7 18:42:16 2009
@@ -43,6 +43,7 @@
 import org.apache.http.impl.nio.reactor.SSLIOSessionHandler;
 import org.apache.http.nio.NHttpClientConnection;
 import org.apache.http.nio.NHttpClientHandler;
+import org.apache.http.nio.params.NIOReactorPNames;
 import org.apache.http.nio.reactor.IOEventDispatch;
 import org.apache.http.nio.reactor.IOReactorExceptionHandler;
 import org.apache.http.nio.reactor.SessionRequest;
@@ -255,6 +256,10 @@
             .setBooleanParameter(HttpConnectionParams.TCP_NODELAY,
                 cfg.getProperty(HttpConnectionParams.TCP_NODELAY, 1) == 1)
             .setParameter(HttpProtocolParams.USER_AGENT, "Synapse-HttpComponents-NIO");
+
+        if (cfg.getBooleanValue(NIOReactorPNames.INTEREST_OPS_QUEUEING, false)) {
+            params.setBooleanParameter(NIOReactorPNames.INTEREST_OPS_QUEUEING, true);
+        }
         return params;
     }
 

Modified: synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/NHttpConfiguration.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/NHttpConfiguration.java?rev=822835&r1=822834&r2=822835&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/NHttpConfiguration.java (original)
+++ synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/NHttpConfiguration.java Wed Oct  7 18:42:16 2009
@@ -21,6 +21,7 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.synapse.commons.util.MiscellaneousUtil;
 
 import java.util.Properties;
 
@@ -56,11 +57,11 @@
 
     private static final Log log = LogFactory.getLog(NHttpConfiguration.class);
     private static NHttpConfiguration _instance = new NHttpConfiguration();
-    private Properties props = new Properties();
+    private Properties props;
 
     private NHttpConfiguration() {
         try {
-            props.load(getClass().getClassLoader().getResourceAsStream("nhttp.properties"));
+            props = MiscellaneousUtil.loadProperties("nhttp.properties");
         } catch (Exception ignore) {}
     }
 
@@ -138,4 +139,25 @@
         return def;
     }
 
+    /**
+     * Get properties that tune nhttp transport. Preference to system properties
+     * @param name name of the system/config property
+     * @param def default value to return if the property is not set
+     * @return the value of the property to be used
+     */
+    public boolean getBooleanValue(String name, boolean def) {
+        String val = System.getProperty(name);
+        if (val == null) {
+            val = props.getProperty(name);
+        }
+
+        if (val != null && Boolean.parseBoolean(val)) {
+            if (log.isDebugEnabled()) {
+                log.debug("Using nhttp tuning parameter : " + name);
+            }
+            return true;
+        }
+        return def;
+    }
+
 }