You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by gk...@apache.org on 2007/06/10 13:42:39 UTC
svn commit: r545867 -
/cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/java/org/apache/cocoon/servletservice/DispatcherServlet.java
Author: gkossakowski
Date: Sun Jun 10 04:42:38 2007
New Revision: 545867
URL: http://svn.apache.org/viewvc?view=rev&rev=545867
Log:
COCOON-2076: Fixing RCL functionality by reloading servlet map when application context was reloaded.
Modified:
cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/java/org/apache/cocoon/servletservice/DispatcherServlet.java
Modified: cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/java/org/apache/cocoon/servletservice/DispatcherServlet.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/java/org/apache/cocoon/servletservice/DispatcherServlet.java?view=diff&rev=545867&r1=545866&r2=545867
==============================================================================
--- cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/java/org/apache/cocoon/servletservice/DispatcherServlet.java (original)
+++ cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/java/org/apache/cocoon/servletservice/DispatcherServlet.java Sun Jun 10 04:42:38 2007
@@ -51,6 +51,10 @@
/** By default we use the logger for this class. */
private Log logger = LogFactory.getLog(getClass());
+ /** The startup date of the Spring application context used to setup the {@link #blockServletCollector}.
+ * TODO: Use a better way to reload {@link #blockServletCollector} when RCL is used, see COCOON-2076 **/
+ private long applicationContextStartDate;
+
/** The servlet collector bean */
private Map blockServletCollector;
@@ -115,12 +119,11 @@
return (Class[]) interfaces.toArray(new Class[interfaces.size()]);
}
- public Map getBlockServletMap()
- {
- if(this.blockServletCollector == null) {
- final ApplicationContext applicationContext =
- WebApplicationContextUtils.getRequiredWebApplicationContext(this.getServletContext());
- this.blockServletCollector = (Map)applicationContext.getBean( "org.apache.cocoon.servletservice.spring.BlockServletMap" );
+ public Map getBlockServletMap() {
+ final ApplicationContext applicationContext = WebApplicationContextUtils.getRequiredWebApplicationContext(this.getServletContext());
+ if(this.blockServletCollector == null || applicationContext.getStartupDate() != this.applicationContextStartDate) {
+ this.applicationContextStartDate = applicationContext.getStartupDate();
+ this.blockServletCollector = (Map)applicationContext.getBean( "org.apache.cocoon.servletservice.spring.BlockServletMap" );
}
return blockServletCollector;
}