mcardle 2006/01/02 15:23:05 CET
Modified files:
core/src/java/org/jahia/services/esi EsiSOAPInvalidation.java
core/src/java/org/jahia/settings SettingsBean.java
core/src/webapp/WEB-INF/etc/config jahia.skeleton
Log:
* imposes a port range limitation in invalidation message sockets
Revision Changes Path
1.9 +17 -4
jahia/core/src/java/org/jahia/services/esi/EsiSOAPInvalidation.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/services/esi/EsiSOAPInvalidation.java.diff?r1=1.8&r2=1.9&f=h
1.27 +16 -1 jahia/core/src/java/org/jahia/settings/SettingsBean.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/settings/SettingsBean.java.diff?r1=1.26&r2=1.27&f=h
1.30 +2 -0 jahia/core/src/webapp/WEB-INF/etc/config/jahia.skeleton
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/webapp/WEB-INF/etc/config/jahia.skeleton.diff?r1=1.29&r2=1.30&f=h
Index: EsiSOAPInvalidation.java
===================================================================
RCS file:
/home/cvs/repository/jahia/core/src/java/org/jahia/services/esi/EsiSOAPInvalidation.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- EsiSOAPInvalidation.java 29 Dec 2005 12:19:20 -0000 1.8
+++ EsiSOAPInvalidation.java 2 Jan 2006 14:23:03 -0000 1.9
@@ -32,6 +32,7 @@
import java.util.HashMap;
import org.apache.commons.httpclient.HttpClient;
+import org.apache.commons.httpclient.protocol.Protocol;
import org.apache.commons.httpclient.methods.PostMethod;
//TODO: Might want to use Axis library to build the SOAP message and
transfer it, instead of the current custom code
@@ -42,9 +43,18 @@
org.apache.log4j.Logger.getLogger(EsiSOAPInvalidation.class);
private static HttpClient httpclient = new HttpClient();
+ private static Protocol http = null;
+ //TODO: change this to an instance class
public EsiSOAPInvalidation () {
+ init();
+ }
+
+ public static void init() {
+ logger.info(" ---- EsiSOAPInvalidation init()");
httpclient.setConnectionTimeout(8000);
+ http = new Protocol("http", new PortRangeProtocolSocketFactory(),
80);
+ Protocol.registerProtocol("http", http);
}
/**
@@ -87,11 +97,15 @@
post.setRequestContentLength(soapRequest.length());
post.setRequestHeader("Content-type", "text/xml; charset=utf-8");
- /*strbf.append("Host: " + settings.getEsiInvalidationIPs() + ":"
- + settings.getEsiInvalidationPorts() + "\r\n"); */
-
String responseXML = null;
+ /*
+ covered by init()
+
httpclient.getHostConfiguration().setHost(EsiInvalidation.getEsiInvalidationIPs()[i],
+
Integer.parseInt(EsiInvalidation.getEsiInvalidationPorts()[i]),
+ new Protocol("http", new
PortRangeProtocolSocketFactory(), 80));
+ */
+
try {
// Execute request
int result = httpclient.executeMethod(post);
@@ -123,7 +137,6 @@
continue;
}
finally {
- // Release current connection to the connection pool once
done
post.releaseConnection();
post.recycle( );
}
Index: SettingsBean.java
===================================================================
RCS file:
/home/cvs/repository/jahia/core/src/java/org/jahia/settings/SettingsBean.java,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -r1.26 -r1.27
--- SettingsBean.java 8 Dec 2005 14:18:27 -0000 1.26
+++ SettingsBean.java 2 Jan 2006 14:23:04 -0000 1.27
@@ -1,4 +1,4 @@
-// $Id: SettingsBean.java,v 1.26 2005/12/08 14:18:27 mcardle Exp $
+// $Id: SettingsBean.java,v 1.27 2006/01/02 14:23:04 mcardle Exp $
//
// ____.
// __/\ ______| |__/\. _______
@@ -153,6 +153,9 @@
// ESI server SOAP invalidation IP
private String esiInvalidationIPs;
+ // ESI invalidation port range to use
+ private String esiInvalidationPortRange;
+
// ESI server invalidation login name
private String esiCacheServerLogin;
@@ -451,6 +454,9 @@
// ESI server invalidation login name
esiCacheServerLogin = getString("esiCacheServerLogin");
+ // ESI invalidation port range to use
+ esiInvalidationPortRange =
getString("esiInvalidationPortRange");
+
// ESI server invalidation login password
esiCacheServerPassword = getString("esiCacheServerPassword");
@@ -1213,6 +1219,15 @@
public String getEsiInvalidationPorts() {
return esiInvalidationPorts;
}
+
+ /**
+ * Used to get ESI allocated invalidation port range
+ *
+ */
+ public String getEsiInvalidationPortRange() {
+ return esiInvalidationPortRange;
+ }
+
/**
* Used to get ESI server SOAP invalidation IP
*
Index: jahia.skeleton
===================================================================
RCS file:
/home/cvs/repository/jahia/core/src/webapp/WEB-INF/etc/config/jahia.skeleton,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -r1.29 -r1.30
--- jahia.skeleton 15 Dec 2005 16:35:38 -0000 1.29
+++ jahia.skeleton 2 Jan 2006 14:23:04 -0000 1.30
@@ -178,6 +178,8 @@
# Similarly to the esiServerIPs/esiServerPorts notation, you can declare
more than one.
esiInvalidationIPs =
localhost
esiInvalidationPorts = 6666
+# This is the port range used to transfer the content of the invalidation
messages
+esiInvalidationPortRange = 6000-6500
# ESI invalidation messages can be either send via HTML reponse
piggy-backing ( i.e.
# they are appended to Jahia HTML responses) or via a direct SOAP
transmission to the ESI