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;
+ }
+
}