Author: ruwan
Date: Wed Oct 7 18:42:21 2009
New Revision: 822836
URL: http://svn.apache.org/viewvc?rev=822836&view=rev
Log:
Switching to the httpcore-4.1-alpha1 and the changes for synapse to work on IBM
JDK
Modified:
synapse/branches/1.3/modules/transports/core/nhttp/pom.xml
synapse/branches/1.3/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/HttpCoreNIOListener.java
synapse/branches/1.3/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/HttpCoreNIOSender.java
synapse/branches/1.3/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/NHttpConfiguration.java
Modified: synapse/branches/1.3/modules/transports/core/nhttp/pom.xml
URL:
http://svn.apache.org/viewvc/synapse/branches/1.3/modules/transports/core/nhttp/pom.xml?rev=822836&r1=822835&r2=822836&view=diff
==============================================================================
--- synapse/branches/1.3/modules/transports/core/nhttp/pom.xml (original)
+++ synapse/branches/1.3/modules/transports/core/nhttp/pom.xml Wed Oct 7
18:42:21 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/branches/1.3/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/HttpCoreNIOListener.java
URL:
http://svn.apache.org/viewvc/synapse/branches/1.3/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/HttpCoreNIOListener.java?rev=822836&r1=822835&r2=822836&view=diff
==============================================================================
---
synapse/branches/1.3/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/HttpCoreNIOListener.java
(original)
+++
synapse/branches/1.3/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/HttpCoreNIOListener.java
Wed Oct 7 18:42:21 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/branches/1.3/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/HttpCoreNIOSender.java
URL:
http://svn.apache.org/viewvc/synapse/branches/1.3/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/HttpCoreNIOSender.java?rev=822836&r1=822835&r2=822836&view=diff
==============================================================================
---
synapse/branches/1.3/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/HttpCoreNIOSender.java
(original)
+++
synapse/branches/1.3/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/HttpCoreNIOSender.java
Wed Oct 7 18:42:21 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/branches/1.3/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/NHttpConfiguration.java
URL:
http://svn.apache.org/viewvc/synapse/branches/1.3/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/NHttpConfiguration.java?rev=822836&r1=822835&r2=822836&view=diff
==============================================================================
---
synapse/branches/1.3/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/NHttpConfiguration.java
(original)
+++
synapse/branches/1.3/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/NHttpConfiguration.java
Wed Oct 7 18:42:21 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;
+ }
+
}