session listener initial work
This commit is contained in:
parent
9d37cea5b2
commit
33cc1f297a
|
@ -1,48 +1,45 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
|
||||||
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
|
xsi:schemaLocation="
|
||||||
xsi:schemaLocation="
|
|
||||||
http://java.sun.com/xml/ns/javaee
|
http://java.sun.com/xml/ns/javaee
|
||||||
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
|
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
|
||||||
id="WebApp_ID" version="3.0">
|
|
||||||
|
|
||||||
<display-name>Spring MVC XML Application</display-name>
|
<display-name>Spring MVC XML Application</display-name>
|
||||||
|
|
||||||
<!-- Spring root -->
|
<!-- Spring root -->
|
||||||
<context-param>
|
<context-param>
|
||||||
<param-name>contextClass</param-name>
|
<param-name>contextClass</param-name>
|
||||||
<param-value>
|
<param-value>
|
||||||
org.springframework.web.context.support.AnnotationConfigWebApplicationContext
|
org.springframework.web.context.support.AnnotationConfigWebApplicationContext
|
||||||
</param-value>
|
</param-value>
|
||||||
</context-param>
|
</context-param>
|
||||||
<context-param>
|
<context-param>
|
||||||
<param-name>contextConfigLocation</param-name>
|
<param-name>contextConfigLocation</param-name>
|
||||||
<param-value>org.baeldung.spring</param-value>
|
<param-value>org.baeldung.spring</param-value>
|
||||||
</context-param>
|
</context-param>
|
||||||
|
|
||||||
<listener>
|
<listener>
|
||||||
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
|
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
|
||||||
</listener>
|
</listener>
|
||||||
|
|
||||||
<!-- Spring child -->
|
<!-- Spring child -->
|
||||||
<servlet>
|
<servlet>
|
||||||
<servlet-name>mvc</servlet-name>
|
<servlet-name>mvc</servlet-name>
|
||||||
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
|
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
|
||||||
<load-on-startup>1</load-on-startup>
|
<load-on-startup>1</load-on-startup>
|
||||||
</servlet>
|
</servlet>
|
||||||
<servlet-mapping>
|
<servlet-mapping>
|
||||||
<servlet-name>mvc</servlet-name>
|
<servlet-name>mvc</servlet-name>
|
||||||
<url-pattern>/</url-pattern>
|
<url-pattern>/</url-pattern>
|
||||||
</servlet-mapping>
|
</servlet-mapping>
|
||||||
|
|
||||||
<!-- additional config -->
|
<!-- additional config -->
|
||||||
|
|
||||||
<session-config>
|
<session-config>
|
||||||
<session-timeout>10</session-timeout>
|
<session-timeout>10</session-timeout>
|
||||||
</session-config>
|
</session-config>
|
||||||
|
<welcome-file-list>
|
||||||
<welcome-file-list>
|
<welcome-file>index.html</welcome-file>
|
||||||
<welcome-file>index.html</welcome-file>
|
</welcome-file-list>
|
||||||
</welcome-file-list>
|
|
||||||
|
|
||||||
</web-app>
|
</web-app>
|
|
@ -0,0 +1,32 @@
|
||||||
|
package org.baeldung.web;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpSessionEvent;
|
||||||
|
import javax.servlet.http.HttpSessionListener;
|
||||||
|
|
||||||
|
public class SessionListenerWithMetrics implements HttpSessionListener {
|
||||||
|
|
||||||
|
private static int totalActiveSessions;
|
||||||
|
|
||||||
|
public SessionListenerWithMetrics() {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
|
||||||
|
// API
|
||||||
|
|
||||||
|
public static int getTotalActiveSession() {
|
||||||
|
return totalActiveSessions;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void sessionCreated(final HttpSessionEvent arg0) {
|
||||||
|
totalActiveSessions++;
|
||||||
|
System.out.println("sessionCreated - add one session into counter");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void sessionDestroyed(final HttpSessionEvent arg0) {
|
||||||
|
totalActiveSessions--;
|
||||||
|
System.out.println("sessionDestroyed - deduct one session from counter");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -1,56 +1,57 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
|
||||||
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
|
xsi:schemaLocation="
|
||||||
xsi:schemaLocation="
|
|
||||||
http://java.sun.com/xml/ns/javaee
|
http://java.sun.com/xml/ns/javaee
|
||||||
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
|
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
|
||||||
id="WebApp_ID" version="3.0">
|
|
||||||
|
|
||||||
<display-name>Spring MVC Custom Application</display-name>
|
<display-name>Spring MVC Custom Application</display-name>
|
||||||
|
|
||||||
<session-config>
|
<session-config>
|
||||||
<session-timeout>1</session-timeout>
|
<session-timeout>1</session-timeout>
|
||||||
</session-config>
|
</session-config>
|
||||||
|
<listener>
|
||||||
<!-- Spring root -->
|
<listener-class>org.baeldung.web.SessionListenerWithMetrics</listener-class>
|
||||||
<context-param>
|
</listener>
|
||||||
<param-name>contextClass</param-name>
|
|
||||||
<param-value>
|
|
||||||
org.springframework.web.context.support.AnnotationConfigWebApplicationContext
|
|
||||||
</param-value>
|
|
||||||
</context-param>
|
|
||||||
<context-param>
|
|
||||||
<param-name>contextConfigLocation</param-name>
|
|
||||||
<param-value>org.baeldung.spring</param-value>
|
|
||||||
</context-param>
|
|
||||||
|
|
||||||
<listener>
|
<!-- Spring root -->
|
||||||
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
|
<context-param>
|
||||||
</listener>
|
<param-name>contextClass</param-name>
|
||||||
|
<param-value>
|
||||||
|
org.springframework.web.context.support.AnnotationConfigWebApplicationContext
|
||||||
|
</param-value>
|
||||||
|
</context-param>
|
||||||
|
<context-param>
|
||||||
|
<param-name>contextConfigLocation</param-name>
|
||||||
|
<param-value>org.baeldung.spring</param-value>
|
||||||
|
</context-param>
|
||||||
|
|
||||||
<!-- Spring child -->
|
<listener>
|
||||||
<servlet>
|
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
|
||||||
<servlet-name>mvc</servlet-name>
|
</listener>
|
||||||
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
|
|
||||||
<load-on-startup>1</load-on-startup>
|
|
||||||
</servlet>
|
|
||||||
<servlet-mapping>
|
|
||||||
<servlet-name>mvc</servlet-name>
|
|
||||||
<url-pattern>/</url-pattern>
|
|
||||||
</servlet-mapping>
|
|
||||||
|
|
||||||
<!-- Spring Security -->
|
<!-- Spring child -->
|
||||||
<filter>
|
<servlet>
|
||||||
<filter-name>springSecurityFilterChain</filter-name>
|
<servlet-name>mvc</servlet-name>
|
||||||
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
|
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
|
||||||
</filter>
|
<load-on-startup>1</load-on-startup>
|
||||||
<filter-mapping>
|
</servlet>
|
||||||
<filter-name>springSecurityFilterChain</filter-name>
|
<servlet-mapping>
|
||||||
<url-pattern>/*</url-pattern>
|
<servlet-name>mvc</servlet-name>
|
||||||
</filter-mapping>
|
<url-pattern>/</url-pattern>
|
||||||
|
</servlet-mapping>
|
||||||
|
|
||||||
<!-- <welcome-file-list> -->
|
<!-- Spring Security -->
|
||||||
<!-- <welcome-file>index.html</welcome-file> -->
|
<filter>
|
||||||
<!-- </welcome-file-list> -->
|
<filter-name>springSecurityFilterChain</filter-name>
|
||||||
|
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
|
||||||
|
</filter>
|
||||||
|
<filter-mapping>
|
||||||
|
<filter-name>springSecurityFilterChain</filter-name>
|
||||||
|
<url-pattern>/*</url-pattern>
|
||||||
|
</filter-mapping>
|
||||||
|
|
||||||
|
<!-- <welcome-file-list> -->
|
||||||
|
<!-- <welcome-file>index.html</welcome-file> -->
|
||||||
|
<!-- </welcome-file-list> -->
|
||||||
|
|
||||||
</web-app>
|
</web-app>
|
Loading…
Reference in New Issue