Implementato shutdown Log4j
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
This commit is contained in:
@@ -68,7 +68,7 @@
|
||||
<dependency>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-bom</artifactId>
|
||||
<version>2.24.3</version>
|
||||
<version>2.25.0</version>
|
||||
<scope>import</scope>
|
||||
<type>pom</type>
|
||||
</dependency>
|
||||
|
||||
@@ -23,6 +23,7 @@ import java.lang.reflect.InvocationTargetException;
|
||||
import java.lang.reflect.Method;
|
||||
import java.sql.DriverManager;
|
||||
import java.util.Arrays;
|
||||
import java.util.Enumeration;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
@@ -72,6 +73,22 @@ public class EmsCoreContext {
|
||||
@PreDestroy
|
||||
public void preDestroy() {
|
||||
contextInitialized = false;
|
||||
|
||||
|
||||
ClassLoader cl = Thread.currentThread().getContextClassLoader();
|
||||
Enumeration<java.sql.Driver> drivers = DriverManager.getDrivers();
|
||||
logger.info("Deregister DB Drivers");
|
||||
|
||||
while (drivers.hasMoreElements()) {
|
||||
java.sql.Driver driver = drivers.nextElement();
|
||||
if (driver.getClass().getClassLoader() == cl) {
|
||||
try {
|
||||
DriverManager.deregisterDriver(driver);
|
||||
} catch (Exception ex) {
|
||||
// log error
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//@EventListener(ContextRefreshedEvent.class)
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
package it.integry.ems.listener;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
|
||||
import javax.servlet.ServletContextEvent;
|
||||
import javax.servlet.ServletContextListener;
|
||||
|
||||
public class Log4jShutdownListener implements ServletContextListener {
|
||||
@Override
|
||||
public void contextInitialized(ServletContextEvent servletContextEvent) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void contextDestroyed(ServletContextEvent sce) {
|
||||
LogManager.shutdown();
|
||||
}
|
||||
}
|
||||
@@ -19,16 +19,18 @@
|
||||
<param-name>log4jConfiguration</param-name>
|
||||
<param-value>classpath:log4j2.xml</param-value>
|
||||
</context-param>
|
||||
|
||||
<listener>
|
||||
<listener-class>org.apache.logging.log4j.web.Log4jServletContextListener</listener-class>
|
||||
</listener>
|
||||
<listener>
|
||||
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
|
||||
</listener>
|
||||
<listener>
|
||||
<listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
|
||||
</listener>
|
||||
<listener>
|
||||
<listener-class>org.apache.logging.log4j.web.Log4jServletContextListener</listener-class>
|
||||
</listener>
|
||||
<!-- <listener>-->
|
||||
<!-- <listener-class>it.integry.ems.listener.Log4jShutdownListener</listener-class>-->
|
||||
<!-- </listener>-->
|
||||
|
||||
<servlet>
|
||||
<servlet-name>SpringDispatcherServlet</servlet-name>
|
||||
|
||||
Reference in New Issue
Block a user