mdh-driftavbrott-filter
Ett ServletFilter för webbapplikationer skrivna i Java. Gör att man kan begränsa åtkomst till resurser i en webbapplikation baserat på information om driftavbrott.
Konfigurera
Så här kan en konfiguration se ut i web.xml
:
<filter>
<description>
Utför en kontroll av att resursen får användas vid tiden för accessen.
</description>
<filter-name>DriftavbrottFilter</filter-name>
<filter-class>se.mdh.driftavbrott.filter.DriftavbrottFilter</filter-class>
<init-param>
<description>
De kanaler som vi ska lyssna på. Om man vill lyssna på flera kanaler
så ska de separeras med kommatecken.
</description>
<param-name>kanaler</param-name>
<param-value>ladok.produktionssattning,ladok.uppgradering</param-value>
</init-param>
<init-param>
<description>
Den sida som ska visas om den resurs som filtret skyddar inte ska vara
tillgänglig vid tiden för accessen.
</description>
<param-name>sida</param-name>
<param-value>/WEB-INF/jsp/fel/driftavbrott.jsp</param-value>
</init-param>
<init-param>
<description>
ArtifactId för det system som är intresserat av information om
driftavbrott.
</description>
<param-name>system</param-name>
<param-value>mdh-parkering</param-value>
</init-param>
<init-param>
<description>
Marginaler i minuter för kontroll av driftavbrott.
</description>
<param-name>marginal</param-name>
<param-value>15</param-value>
</init-param>
</filter>
...
<filter-mapping>
<filter-name>DriftavbrottFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Eftersom produkten använder mdh-driftavbrott-ws-client behöver den konfigurationsfilen se.mdh.driftavbrott.properties
som ska innehålla en URL till mdh-driftavbrott-service. Till exempel så här:
se.mdh.driftavbrott.service.url=http://localhost:3301/mdh-driftavbrott/v1
Skapa en JSP i din applikation
Förutom själva filterkonfigurationen behöver applikationen även en dedikerad JSP som kan förse användarna med information om driftavbrott. Så här kan en enkel sådan se ut som placeras i filen /WEB-INF/jsp/fel/driftavbrott.jsp
:
<%@ page contentType="text/html" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<fmt:setBundle basename="se.mdh.driftavbrott.filter.Driftavbrott" scope="page"/>
<html>
<head>
<title><fmt:message key="sida.titel" /></title>
</head>
<body>
<h1>
<fmt:message key="sida.rubrik" />
</h1>
<c:set var="kanal" value="${requestScope.meddelande_key}" />
<c:set var="start" value="${requestScope.start}" />
<c:set var="slut" value="${requestScope.slut}" />
<p>
<fmt:message key="${kanal}">
<fmt:param value="${start}" />
<fmt:param value="${slut}" />
</fmt:message>
</p>
</body>
</html>
I den ResourceBundle
som följer med så finns sida.titel
och sida.rubrik
definierade, samt texter för några vanliga typer av avbrott t.ex. ladok.backup
och ladok.uppgradering
. Om du vill ha ett generellt meddelande för alla system så kan du använda kanalen default
vilken också är inkluderad.
Om du inte är nöjd med meddelandena i bifogad ResourceBundle
kan du skapa en egen och referera till den med
<fmt:setBundle basename="/sökväg/till/din/egen/ResourceBundle" scope="page"/>