shuber 2004/08/13 19:36:28 CEST
Modified files:
core/src/conf/java JahiaAdministrationResources.properties
JahiaAdministrationResources_en.properties
JahiaAdministrationResources_fr.properties
core/src/java/org/jahia/admin/components ManageComponents.java
core/src/java/org/jahia/bin JahiaAdministration.java
core/src/java/org/jahia/data/applications ApplicationBean.java
Description.java
DisplayName.java
EntryPointInstance.java
PortletEntryPointDefinition.java
ServletBean.java
ServletEntryPointDefinition.java
WebAppContext.java
core/src/java/org/jahia/services/applications
ApplicationsManagerServletProvider.java
ServletContextManager.java
core/src/java/org/jahia/services/cache JMSHubConsumer.java
core/src/java/org/jahia/utils InsertionSortedMap.java
InsertionSortedSet.java
Log:
Testing applications in clustered environment. Now seems to work ok except for
problems with application cache that is stored in sessions and therefore isn't
invalidated when an application changes data (this is due to the current dispatching
model, JSR 168 solves this by using render() methods)
Revision Changes Path
1.4 +2 -0 jahia/core/src/conf/java/JahiaAdministrationResources.properties
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/conf/java/JahiaAdministrationResources.properties.diff?r1=1.3&r2=1.4&f=h
1.4 +2 -0
jahia/core/src/conf/java/JahiaAdministrationResources_en.properties
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/conf/java/JahiaAdministrationResources_en.properties.diff?r1=1.3&r2=1.4&f=h
1.4 +2 -0
jahia/core/src/conf/java/JahiaAdministrationResources_fr.properties
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/conf/java/JahiaAdministrationResources_fr.properties.diff?r1=1.3&r2=1.4&f=h
1.2 +3 -0
jahia/core/src/java/org/jahia/admin/components/ManageComponents.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/admin/components/ManageComponents.java.diff?r1=1.1&r2=1.2&f=h
1.3 +3 -1 jahia/core/src/java/org/jahia/bin/JahiaAdministration.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/bin/JahiaAdministration.java.diff?r1=1.2&r2=1.3&f=h
1.3 +2 -1
jahia/core/src/java/org/jahia/data/applications/ApplicationBean.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/data/applications/ApplicationBean.java.diff?r1=1.2&r2=1.3&f=h
1.2 +3 -1 jahia/core/src/java/org/jahia/data/applications/Description.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/data/applications/Description.java.diff?r1=1.1&r2=1.2&f=h
1.2 +3 -1 jahia/core/src/java/org/jahia/data/applications/DisplayName.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/data/applications/DisplayName.java.diff?r1=1.1&r2=1.2&f=h
1.2 +3 -1
jahia/core/src/java/org/jahia/data/applications/EntryPointInstance.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/data/applications/EntryPointInstance.java.diff?r1=1.1&r2=1.2&f=h
1.4 +3 -1
jahia/core/src/java/org/jahia/data/applications/PortletEntryPointDefinition.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/data/applications/PortletEntryPointDefinition.java.diff?r1=1.3&r2=1.4&f=h
1.3 +2 -1 jahia/core/src/java/org/jahia/data/applications/ServletBean.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/data/applications/ServletBean.java.diff?r1=1.2&r2=1.3&f=h
1.3 +2 -1
jahia/core/src/java/org/jahia/data/applications/ServletEntryPointDefinition.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/data/applications/ServletEntryPointDefinition.java.diff?r1=1.2&r2=1.3&f=h
1.2 +2 -1
jahia/core/src/java/org/jahia/data/applications/WebAppContext.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/data/applications/WebAppContext.java.diff?r1=1.1&r2=1.2&f=h
1.3 +30 -12
jahia/core/src/java/org/jahia/services/applications/ApplicationsManagerServletProvider.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/services/applications/ApplicationsManagerServletProvider.java.diff?r1=1.2&r2=1.3&f=h
1.5 +9 -1
jahia/core/src/java/org/jahia/services/applications/ServletContextManager.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/services/applications/ServletContextManager.java.diff?r1=1.4&r2=1.5&f=h
1.6 +4 -0 jahia/core/src/java/org/jahia/services/cache/JMSHubConsumer.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/services/cache/JMSHubConsumer.java.diff?r1=1.5&r2=1.6&f=h
1.2 +3 -2 jahia/core/src/java/org/jahia/utils/InsertionSortedMap.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/utils/InsertionSortedMap.java.diff?r1=1.1&r2=1.2&f=h
1.2 +2 -1 jahia/core/src/java/org/jahia/utils/InsertionSortedSet.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/utils/InsertionSortedSet.java.diff?r1=1.1&r2=1.2&f=h
Index: JahiaAdministrationResources.properties
===================================================================
RCS file: /cvs/jahia/core/src/conf/java/JahiaAdministrationResources.properties,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- JahiaAdministrationResources.properties 29 Jul 2004 17:11:44 -0000 1.3
+++ JahiaAdministrationResources.properties 13 Aug 2004 17:36:26 -0000 1.4
@@ -396,6 +396,8 @@
org.jahia.admin.status.label
= Status
org.jahia.admin.status.ManageStatus.availableConnections.label= available
connections
org.jahia.admin.status.ManageStatus.busyConnections.label= busy connections
+org.jahia.admin.status.ManageStatus.cache.ApplicationContextCache.description.label=Applications
context cache
+org.jahia.admin.status.ManageStatus.cache.ApplicationDefinitionsCache.description.label=Applications
definition cache
org.jahia.admin.status.ManageStatus.cache.ACLEntriesCache.description.label=ACL
entries cache
org.jahia.admin.status.ManageStatus.cache.ACLTreeCache.description.label=ACL tree
cache
org.jahia.admin.status.ManageStatus.cache.CategoryLastModifStatusCache.description.label=Synchronization
cache for last category modification date
Index: JahiaAdministrationResources_en.properties
===================================================================
RCS file: /cvs/jahia/core/src/conf/java/JahiaAdministrationResources_en.properties,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- JahiaAdministrationResources_en.properties 29 Jul 2004 17:11:44 -0000
1.3
+++ JahiaAdministrationResources_en.properties 13 Aug 2004 17:36:26 -0000
1.4
@@ -396,6 +396,8 @@
org.jahia.admin.status.label
= Status
org.jahia.admin.status.ManageStatus.availableConnections.label= available
connections
org.jahia.admin.status.ManageStatus.busyConnections.label= busy connections
+org.jahia.admin.status.ManageStatus.cache.ApplicationContextCache.description.label=Applications
context cache
+org.jahia.admin.status.ManageStatus.cache.ApplicationDefinitionsCache.description.label=Applications
definition cache
org.jahia.admin.status.ManageStatus.cache.ACLEntriesCache.description.label=ACL
entries cache
org.jahia.admin.status.ManageStatus.cache.ACLTreeCache.description.label=ACL tree
cache
org.jahia.admin.status.ManageStatus.cache.CategoryLastModifStatusCache.description.label=Synchronization
cache for last category modification date
Index: JahiaAdministrationResources_fr.properties
===================================================================
RCS file: /cvs/jahia/core/src/conf/java/JahiaAdministrationResources_fr.properties,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- JahiaAdministrationResources_fr.properties 29 Jul 2004 17:11:44 -0000
1.3
+++ JahiaAdministrationResources_fr.properties 13 Aug 2004 17:36:26 -0000
1.4
@@ -486,6 +486,8 @@
org.jahia.admin.status.label=Statut
org.jahia.admin.status.ManageStatus.availableConnections.label=Connexions
disponibles
org.jahia.admin.status.ManageStatus.busyConnections.label=Connexions actives
+org.jahia.admin.status.ManageStatus.cache.ApplicationContextCache.description.label=Cache
des context d'application
+org.jahia.admin.status.ManageStatus.cache.ApplicationDefinitionsCache.description.label=Cache
des définitions d'applications
org.jahia.admin.status.ManageStatus.cache.ACLEntriesCache.description.label=Cache
des entrées d'ACL
org.jahia.admin.status.ManageStatus.cache.ACLTreeCache.description.label=Cache de
l'arbre des ACLs
org.jahia.admin.status.ManageStatus.cache.CategoryLastModifStatusCache.description.label=Cache
de synchronization pour les dates de dernières modifications sur les
catégories
Index: ManageComponents.java
===================================================================
RCS file: /cvs/jahia/core/src/java/org/jahia/admin/components/ManageComponents.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ManageComponents.java 30 Mar 2004 14:10:22 -0000 1.1
+++ ManageComponents.java 13 Aug 2004 17:36:26 -0000 1.2
@@ -64,6 +64,7 @@
import org.jahia.registries.ServicesRegistry;
import org.jahia.resourcebundle.JahiaResourceBundle;
import org.jahia.services.applications.ApplicationsManagerService;
+import org.jahia.services.applications.ServletContextManager;
import org.jahia.services.jef.InvalidJefFileException;
import org.jahia.services.jef.JecFile;
import org.jahia.services.jef.JefFileConstants;
@@ -724,6 +725,8 @@
// delete the app definition
appPersServ.removeApplication (app.getID ());
+
ServletContextManager.getInstance().removeContextFromCache(app.getContext());
+
displayComponentList (request, response, session);
} else if (subAction.equals ("confirmdelete")) {
Index: JahiaAdministration.java
===================================================================
RCS file: /cvs/jahia/core/src/java/org/jahia/bin/JahiaAdministration.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- JahiaAdministration.java 16 Jul 2004 17:33:35 -0000 1.2
+++ JahiaAdministration.java 13 Aug 2004 17:36:27 -0000 1.3
@@ -1,4 +1,4 @@
-// $Id: JahiaAdministration.java,v 1.2 2004/07/16 17:33:35 shuber Exp $
+// $Id: JahiaAdministration.java,v 1.3 2004/08/13 17:36:27 shuber Exp $
//
// ____.
// __/\ ______| |__/\. _______
@@ -99,6 +99,7 @@
import java.util.Date;
import org.jahia.utils.PathResolver;
import org.jahia.utils.WebAppPathResolver;
+import org.jahia.services.cache.CacheFactory;
/**
@@ -247,6 +248,7 @@
userRequestDispatcher(request, response, session); //
ok continue admin...
org.jahia.services.database.ConnectionDispenser.
terminateConnection();
+ CacheFactory.getInstance().syncCachesNow();
} catch (JahiaException je) {
JahiaErrorDisplay.DisplayException(request, response,
getServletContext(), Jahia.getSettings(), je);
Index: ApplicationBean.java
===================================================================
RCS file: /cvs/jahia/core/src/java/org/jahia/data/applications/ApplicationBean.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ApplicationBean.java 18 Jun 2004 13:42:13 -0000 1.2
+++ ApplicationBean.java 13 Aug 2004 17:36:27 -0000 1.3
@@ -4,6 +4,7 @@
import java.util.ArrayList;
import org.jahia.registries.ServicesRegistry;
import java.util.Iterator;
+import java.io.Serializable;
/**
* This object contains all the data relative to an application, notably the
@@ -12,7 +13,7 @@
* @author Serge Huber
* @version 1.0
*/
-public class ApplicationBean implements Comparator {
+public class ApplicationBean implements Serializable, Comparator {
private int ID;
private int jahiaID;
Index: Description.java
===================================================================
RCS file: /cvs/jahia/core/src/java/org/jahia/data/applications/Description.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- Description.java 30 Mar 2004 14:10:23 -0000 1.1
+++ Description.java 13 Aug 2004 17:36:27 -0000 1.2
@@ -1,5 +1,7 @@
package org.jahia.data.applications;
+import java.io.Serializable;
+
/**
* <p>Title: </p>
* <p>Description: </p>
@@ -9,7 +11,7 @@
* @version 1.0
*/
-public class Description {
+public class Description implements Serializable {
private String lang = "en";
private String value;
public Description() {
Index: DisplayName.java
===================================================================
RCS file: /cvs/jahia/core/src/java/org/jahia/data/applications/DisplayName.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- DisplayName.java 30 Mar 2004 14:10:23 -0000 1.1
+++ DisplayName.java 13 Aug 2004 17:36:27 -0000 1.2
@@ -1,5 +1,7 @@
package org.jahia.data.applications;
+import java.io.Serializable;
+
/**
* <p>Title: </p>
* <p>Description: </p>
@@ -9,7 +11,7 @@
* @version 1.0
*/
-public class DisplayName {
+public class DisplayName implements Serializable {
private String lang = "en";
private String value;
public DisplayName() {
Index: EntryPointInstance.java
===================================================================
RCS file:
/cvs/jahia/core/src/java/org/jahia/data/applications/EntryPointInstance.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- EntryPointInstance.java 30 Mar 2004 14:10:23 -0000 1.1
+++ EntryPointInstance.java 13 Aug 2004 17:36:27 -0000 1.2
@@ -1,5 +1,7 @@
package org.jahia.data.applications;
+import java.io.Serializable;
+
/**
* <p>Title: EntryPointInstance for a web application</p>
* <p>Description: This class represents an entry point instance into a web
@@ -16,7 +18,7 @@
* @todo properties not implemented, will do later.
*/
-public class EntryPointInstance {
+public class EntryPointInstance implements Serializable {
private int ID;
private int applicationID;
private String defName;
Index: PortletEntryPointDefinition.java
===================================================================
RCS file:
/cvs/jahia/core/src/java/org/jahia/data/applications/PortletEntryPointDefinition.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- PortletEntryPointDefinition.java 22 Jun 2004 15:42:01 -0000 1.3
+++ PortletEntryPointDefinition.java 13 Aug 2004 17:36:27 -0000 1.4
@@ -1,5 +1,7 @@
package org.jahia.data.applications;
+import java.io.Serializable;
+
import org.apache.pluto.om.portlet.PortletDefinition;
import java.util.ArrayList;
import org.jahia.registries.ServicesRegistry;
@@ -19,7 +21,7 @@
* @author Serge Huber
* @version 1.0
*/
-public class PortletEntryPointDefinition implements EntryPointDefinition {
+public class PortletEntryPointDefinition implements Serializable,
EntryPointDefinition {
private int applicationID;
private PortletDefinition portletDefinition;
Index: ServletBean.java
===================================================================
RCS file: /cvs/jahia/core/src/java/org/jahia/data/applications/ServletBean.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ServletBean.java 22 Jun 2004 15:42:01 -0000 1.2
+++ ServletBean.java 13 Aug 2004 17:36:27 -0000 1.3
@@ -3,6 +3,7 @@
import java.util.ArrayList;
import org.jahia.registries.ServicesRegistry;
import javax.portlet.PortletMode;
+import java.io.Serializable;
/**
* This object contains all the data relative to a servlet, notably the
@@ -10,7 +11,7 @@
* @author Serge Huber
* @version 1.0
*/
-public class ServletBean implements EntryPointDefinition {
+public class ServletBean implements Serializable, EntryPointDefinition {
public final static int SERVLET_TYPE = 1;
public final static int JSP_TYPE = 2;
Index: ServletEntryPointDefinition.java
===================================================================
RCS file:
/cvs/jahia/core/src/java/org/jahia/data/applications/ServletEntryPointDefinition.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ServletEntryPointDefinition.java 22 Jun 2004 15:42:01 -0000 1.2
+++ ServletEntryPointDefinition.java 13 Aug 2004 17:36:27 -0000 1.3
@@ -6,6 +6,7 @@
import java.util.ArrayList;
import org.jahia.registries.ServicesRegistry;
import javax.portlet.PortletMode;
+import java.io.Serializable;
/**
* <p>Title: Servlet-based web application entry point definition</p>
@@ -17,7 +18,7 @@
* @version 1.0
*/
-public class ServletEntryPointDefinition implements EntryPointDefinition {
+public class ServletEntryPointDefinition implements Serializable,
EntryPointDefinition {
private Map displayNames = new HashMap();
private Map descriptions = new HashMap();
Index: WebAppContext.java
===================================================================
RCS file: /cvs/jahia/core/src/java/org/jahia/data/applications/WebAppContext.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- WebAppContext.java 30 Mar 2004 14:10:23 -0000 1.1
+++ WebAppContext.java 13 Aug 2004 17:36:27 -0000 1.2
@@ -25,6 +25,7 @@
import org.jahia.utils.InsertionSortedMap;
import java.util.Map;
import java.util.ArrayList;
+import java.io.Serializable;
@@ -34,7 +35,7 @@
*
* @author Khue Nguyen <a href="mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED]</a>
*/
-public class WebAppContext
+public class WebAppContext implements Serializable
{
private static final String CLASS_NAME = WebAppContext.class.getName();
Index: ApplicationsManagerServletProvider.java
===================================================================
RCS file:
/cvs/jahia/core/src/java/org/jahia/services/applications/ApplicationsManagerServletProvider.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ApplicationsManagerServletProvider.java 22 Jun 2004 15:42:02 -0000 1.2
+++ ApplicationsManagerServletProvider.java 13 Aug 2004 17:36:28 -0000 1.3
@@ -64,6 +64,8 @@
import org.apache.jetspeed.container.window.PortletWindowAccessor;
import org.apache.jetspeed.Jetspeed;
import org.apache.jetspeed.om.window.impl.PortletWindowImpl;
+import org.jahia.services.cache.Cache;
+import org.jahia.services.cache.CacheFactory;
/**
@@ -71,6 +73,8 @@
*
* @author Khue ng
* @version 1.0
+ * @todo FIXME this class does not support a cache limit, it should never be
+ * limited in it's current implementation
*/
public class ApplicationsManagerServletProvider implements
ApplicationsManagerProvider {
@@ -79,11 +83,13 @@
private static org.apache.log4j.Logger logger =
org.apache.log4j.Logger.getLogger
(ApplicationsManagerServletProvider.class);
+ private static final String REGISTRY_CACHE_NAME = "ApplicationDefinitionsCache";
+
/** the instance * */
private static ApplicationsManagerServletProvider instance;
/** the cache of application definition * */
- private Hashtable registry = new Hashtable ();
+ private Cache registry;
/** dummy comparator application bean * */
private ApplicationBean dummyComparator;
@@ -121,6 +127,8 @@
throws JahiaInitializationException {
try {
+ registry = CacheFactory.createCache(REGISTRY_CACHE_NAME);
+
loadAllApplications ();
ServletContextManager.getInstance().init(jSettings);
} catch (Throwable t) {
@@ -157,13 +165,16 @@
checkIsLoaded ();
synchronized (registry) {
- ApplicationBean app = (ApplicationBean) registry.get (new Integer
(appID));
- if (app == null) {
+ ApplicationBean app;
+ if (registry.containsKey(new Integer (appID))) {
+ app = (ApplicationBean) registry.get(new
+ Integer(appID));
+ return app;
+ }
// try to load from db
- app = ApplicationsDB.getInstance ().get_application_definition
(appID);
- if (app != null) {
- registry.put (new Integer (app.getID ()), app);
- }
+ app = ApplicationsDB.getInstance ().get_application_definition (appID);
+ if (app != null) {
+ registry.put (new Integer (app.getID ()), app);
}
return app;
}
@@ -187,9 +198,9 @@
synchronized (registry) {
ApplicationBean app = null;
- Enumeration keys = registry.keys ();
- while (keys.hasMoreElements ()) {
- app = (ApplicationBean) registry.get (keys.nextElement ());
+ Object[] keys = registry.keys();
+ for (int i=0; i < keys.length; i++) {
+ app = (ApplicationBean) registry.get (keys[i]);
if (app != null
&& app.getContext () != null
&& app.getContext ().equals (context)) {
@@ -215,7 +226,14 @@
checkIsLoaded ();
- Vector apps = new Vector (registry.values ());
+ Vector apps = new Vector ();
+ Object[] keys = registry.keys();
+ for (int i=0; i < keys.length; i++) {
+ Object curValue = registry.get(keys[i]);
+ if (curValue != null) {
+ apps.add(curValue);
+ }
+ }
Collections.sort (apps, dummyComparator);
return apps;
}
@@ -233,7 +251,7 @@
checkIsLoaded ();
Vector apps = new Vector ();
- Enumeration enum = registry.elements ();
+ Enumeration enum = getApplications().elements();
ApplicationBean app = null;
while (enum.hasMoreElements ()) {
app = (ApplicationBean) enum.nextElement ();
Index: ServletContextManager.java
===================================================================
RCS file:
/cvs/jahia/core/src/java/org/jahia/services/applications/ServletContextManager.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- ServletContextManager.java 28 Jul 2004 10:41:20 -0000 1.4
+++ ServletContextManager.java 13 Aug 2004 17:36:28 -0000 1.5
@@ -65,6 +65,8 @@
import java.util.ArrayList;
import java.io.File;
import org.jahia.bin.Jahia;
+import org.jahia.services.cache.CacheFactory;
+import org.jahia.services.cache.Cache;
/**
@@ -79,6 +81,7 @@
private static org.apache.log4j.Logger logger =
org.apache.log4j.Logger.getLogger (ServletContextManager.class);
+ private static final String REGISTRY_CACHE_NAME = "ApplicationContextCache";
/** the DTD Entity Resolver we use with local dtd files * */
private static EntityResolver mResolver;
@@ -93,7 +96,7 @@
private static ServletContextManager instance = null;
/** the cache of application context beans * */
- private Hashtable mRegistry = new Hashtable ();
+ private Cache mRegistry;
/** The Server ServerContext * */
private ServletContext mContext;
@@ -129,6 +132,7 @@
public void init (SettingsBean jSettings)
throws JahiaInitializationException {
if (!initialized) {
+ mRegistry = CacheFactory.createCache(REGISTRY_CACHE_NAME);
mContext = Jahia.getStaticServletConfig().getServletContext();
mResolver = jSettings.getDtdEntityResolver ();
initialized = true;
@@ -195,6 +199,10 @@
return appContext;
}
+ public void removeContextFromCache(String context) {
+ mRegistry.remove(context);
+ }
+
//--------------------------------------------------------------------------
/**
* Returns a ApplicationContext bean with the information loaded from the
web.xml
Index: JMSHubConsumer.java
===================================================================
RCS file: /cvs/jahia/core/src/java/org/jahia/services/cache/JMSHubConsumer.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- JMSHubConsumer.java 5 Aug 2004 14:44:34 -0000 1.5
+++ JMSHubConsumer.java 13 Aug 2004 17:36:28 -0000 1.6
@@ -220,6 +220,10 @@
int eventType;
Object entryKey;
Object entryValue = null;
+
+ if (message == null) {
+ return;
+ }
try {
cacheName = message.getString (JMSCacheMessage.CACHE_NAME_KEY);
eventType = message.getInt (JMSCacheMessage.EVENT_NAME_KEY);
Index: InsertionSortedMap.java
===================================================================
RCS file: /cvs/jahia/core/src/java/org/jahia/utils/InsertionSortedMap.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- InsertionSortedMap.java 30 Mar 2004 14:13:17 -0000 1.1
+++ InsertionSortedMap.java 13 Aug 2004 17:36:28 -0000 1.2
@@ -1,6 +1,7 @@
package org.jahia.utils;
import java.util.*;
+import java.io.Serializable;
/**
@@ -14,11 +15,11 @@
*
*/
-public class InsertionSortedMap extends AbstractMap {
+public class InsertionSortedMap extends AbstractMap implements Serializable {
private ArrayList internalList = new ArrayList();
- private class Entry implements Map.Entry {
+ private class Entry implements Map.Entry, Serializable {
private Object key;
private Object value;
Index: InsertionSortedSet.java
===================================================================
RCS file: /cvs/jahia/core/src/java/org/jahia/utils/InsertionSortedSet.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- InsertionSortedSet.java 30 Mar 2004 14:13:17 -0000 1.1
+++ InsertionSortedSet.java 13 Aug 2004 17:36:28 -0000 1.2
@@ -1,6 +1,7 @@
package org.jahia.utils;
import java.util.*;
+import java.io.Serializable;
/**
@@ -12,7 +13,7 @@
* @version 1.0
*/
-public class InsertionSortedSet extends AbstractSet {
+public class InsertionSortedSet extends AbstractSet implements Serializable {
private ArrayList internalSet;