mcardle 2005/12/14 17:57:06 CET
Modified files:
src/net/sf/j2ep ProxyFilter.java
Log:
* support for first step in rewrite of backend cache code
* closes any running services before exiting
* reviewed log4j init
Revision Changes Path
1.14 +33 -17 esi_server/src/net/sf/j2ep/ProxyFilter.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/esi_server/src/net/sf/j2ep/ProxyFilter.java.diff?r1=1.13&r2=1.14&f=h
Index: ProxyFilter.java
===================================================================
RCS file: /home/cvs/repository/esi_server/src/net/sf/j2ep/ProxyFilter.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- ProxyFilter.java 5 Dec 2005 16:49:00 -0000 1.13
+++ ProxyFilter.java 14 Dec 2005 16:57:06 -0000 1.14
@@ -40,9 +40,11 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.jahia.esi.Utils;
+import org.jahia.esi.cache.FragmentCache;
+import org.jahia.esi.log.Log4jInit;
import org.jahia.esi.exceptions.EsiServerException;
import org.jahia.esi.admin.GetContent;
-import org.jahia.esi.settings.GeneralSettings;
+import org.jahia.esi.settings.SettingsBean;
import org.jahia.esi.invalidation.services.Invalidator;
/**
@@ -72,6 +74,13 @@
private static Log log;
/**
+ * the ESI invalidation server objects
+ */
+ private static org.jahia.esi.invalidation.Server invalidationServer;
+ private static Invalidator invalidatorService;
+
+
+ /**
* The httpclient used to make all connections with, supplied by
commons-httpclient.
*/
private static HttpClient httpClient;
@@ -227,8 +236,6 @@
return ResponseHandlerFactory.createResponseHandler(newMethod,
requestHandler);
}
- public static Invalidator invalidatorService;
-
/**
* @see javax.servlet.Filter#init(javax.servlet.FilterConfig)
*
@@ -236,6 +243,9 @@
* RuleChain back. Will also configure the httpclient.
*/
public void init(FilterConfig filterConfig) throws ServletException {
+
+ Log4jInit.init(filterConfig);
+
log = LogFactory.getLog(ProxyFilter.class);
log.info("---- ProxyFilter Init ----");
@@ -255,45 +265,51 @@
File dataFile = new
File(filterConfig.getServletContext().getRealPath(data));
ConfigParser parser = new ConfigParser(dataFile);
serverChain = parser.getServerChain();
- System.out.println("serverChain: " + serverChain);
+ log.info("serverChain: " + serverChain);
} catch (Exception e) {
throw new ServletException(e);
}
}
httpClient.getHttpConnectionManager().
-
getParams().setConnectionTimeout(GeneralSettings.getInstance().getConnectionTimeout());
+
getParams().setConnectionTimeout(SettingsBean.getInstance().getConnectionTimeout());
- if (GeneralSettings.getInstance().isActivateInvalidationServer()) {
+ if (SettingsBean.getInstance().isActivateInvalidationServer()) {
// Create a server object that has a limit of 5 concurrent
// connections
- org.jahia.esi.invalidation.Server s = new
org.jahia.esi.invalidation.Server(5);
-
- invalidatorService = new Invalidator(s);
-
+ invalidationServer = new org.jahia.esi.invalidation.Server(5);
+ invalidatorService = new Invalidator(invalidationServer);
try {
- s.addService(invalidatorService,
GeneralSettings.getInstance().getInvalidationPort());
- System.err.println("The ESI SOAP InvalidationServer Server
ready and waiting...");
-
+ invalidationServer.addService(invalidatorService,
SettingsBean.getInstance().getInvalidationPort());
+ log.info("The ESI SOAP Invalidation Server ready and
waiting...");
} catch (IOException ex) {
- System.err.println("Error: The ESI SOAP InvalidationServer
Server could not be started : "+ex);
+ log.info("Error: The ESI SOAP Invalidation Server could not
be started : "+ex);
}
}
else
- System.err.println("The ESI SOAP InvalidationServer Server was
not started according to config settings.");
+ log.info("The ESI SOAP Invalidation Server was not started
according to config settings.");
+ //initializes all caches
+ FragmentCache.createFragmentCache();
+
}
/**
* @see javax.servlet.Filter#destroy()
*
* Called when this filter is destroyed.
- * Releases the fields.
+ * Releases the fields and shutdown the invalidation server.
*/
public void destroy() {
- System.err.println("Calling ProxyFilter destroy()...") ;
+ log.info("Calling ProxyFilter destroy()...") ;
+ if (invalidationServer!=null
+ && SettingsBean.getInstance().getInvalidationPort()!=0) {
+ log.info("Current ESI SOAP Invalidation Server Status is : \n"
+ invalidationServer.displayStatus());
+ log.info("Closing down ESI SOAP Invalidation Server on
"+SettingsBean.getInstance().getInvalidationPort()) ;
+
invalidationServer.removeService(SettingsBean.getInstance().getInvalidationPort());
+ }
log = null;
httpClient = null;
serverChain = null;