diff options
Diffstat (limited to 'common/openecomp-common-configuration-management/openecomp-configuration-management-core/src/main/java/org/openecomp/config/impl/ContextListener.java')
-rw-r--r-- | common/openecomp-common-configuration-management/openecomp-configuration-management-core/src/main/java/org/openecomp/config/impl/ContextListener.java | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/common/openecomp-common-configuration-management/openecomp-configuration-management-core/src/main/java/org/openecomp/config/impl/ContextListener.java b/common/openecomp-common-configuration-management/openecomp-configuration-management-core/src/main/java/org/openecomp/config/impl/ContextListener.java new file mode 100644 index 0000000000..a355073116 --- /dev/null +++ b/common/openecomp-common-configuration-management/openecomp-configuration-management-core/src/main/java/org/openecomp/config/impl/ContextListener.java @@ -0,0 +1,48 @@ +package org.openecomp.config.impl; + +import static org.openecomp.config.Constants.MBEAN_NAME; + +import org.apache.commons.beanutils.FluentPropertyBeanIntrospector; +import org.openecomp.config.api.ConfigurationManager; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.lang.management.ManagementFactory; +import java.lang.reflect.Field; +import java.lang.reflect.Method; +import javax.management.ObjectName; +import javax.servlet.ServletContextEvent; +import javax.servlet.ServletContextListener; +import javax.servlet.annotation.WebListener; + +@WebListener +public class ContextListener implements ServletContextListener { + + @Override + public void contextDestroyed(ServletContextEvent arg0) { + try { + ManagementFactory.getPlatformMBeanServer().unregisterMBean(new ObjectName(MBEAN_NAME)); + } catch (Exception exception) { + exception.printStackTrace(); + } + } + + @Override + public void contextInitialized(ServletContextEvent arg0) { + try { + ConfigurationManager.lookup(); + Logger logger = LoggerFactory.getLogger(FluentPropertyBeanIntrospector.class); + Method method = logger.getClass().getDeclaredMethod("getLevel"); + method.setAccessible(true); + Object object = method.invoke(logger); + method = logger.getClass().getDeclaredMethod("setLevel", object.getClass()); + method.setAccessible(true); + Field field = object.getClass().getDeclaredField("ERROR"); + field.setAccessible(true); + method.invoke(logger, field.get(logger)); + } catch (Exception exception) { + exception.printStackTrace(); + } + } + +} |