MaintenanceFilter
The MaintenanceFilter allows displaying a maintenance page instead of the expected response from the back end. It is required that the maintenance page (hosted on a back end) contains two meta-tags defining the maintenance interval. The name of the meta-tags can be configured (see below). The content attribute of the meta-tag must contain a string defining a date. One of the following formats is supported:
- Sun, 06 Nov 1994 08:49:37 GMT
- Sunday, 06-Nov-94 08:49:37 GMT
- Sun Nov 06 08:49:37 1994
Classname
ch::nevis::isiweb4::filter::maintenance::MaintenanceFilter
Library
libMaintenanceFilters.so.1
Configuration
MaintenanceServlet
- Type: String
- Usage Constraint: required
- Syntax:
<ServletName>:<uripath>
- Defines the servlet that will return the maintenance page.
<ServletName>
: The name of the configured servlet which will be used to contact a back end hosting the maintenance page.<uripath>
: URI used by the servlet to get the maintenance page.
UpdateInterval
- Type: Integer [sec]
- Usage Constraint: optional
- Default:
600
- Defines the update frequency of the maintenance page. As long as the system is in
normal mode
, it checks theMaintenanceServlet
at the configured frequency. Once inmaintenance mode
, the system ignores theUpdateInterval
parameter and calls theMaintenanceServlet
on each request.
MetaTagStartName
- Type: String
- Usage Constraint: optional
- Default:
startTimestamp
- The name of the meta-tag with the start-timestamp.
MetaTagEndName
- Type: String
- Usage Constraint: optional
- Default:
stopTimestamp
- The name of the meta-tag with the end-timestamp.
AllowedContentType
- Type: String
- Usage Constraint: optional
- Default:
text/html
- Defines which content types are allowed from a maintenance back end. The default regex type is
PCRE(da)
.
Example
The filter in the sample code below enables the maintenance mode and specifies the servlet that provides data about the maintenance window.
<filter>
<filter-name>HttMaintenanceFilter</filter-name>
<filter-class>ch::nevis::isiweb4::filter::maintenance::MaintenanceFilter</filter-class>
<init-param>
<param-name>MaintenanceServlet</param-name>
<param-value>MaintenanceServlet:/maintenance/</param-value>
</init-param>
<init-param>
<param-name>UpdateInterval</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>MetaTagEndName</param-name>
<param-value>expires</param-value>
</init-param>
<init-param>
<param-name>MetaTagStartName</param-name>
<param-value>startTimestamp</param-value>
</init-param>
</filter>