aboutsummaryrefslogtreecommitdiffstats
path: root/common/openecomp-common-configuration-management/openecomp-configuration-management-core/src/main/java/org/openecomp/config/impl/ContextListener.java
diff options
context:
space:
mode:
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.java48
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();
+ }
+ }
+
+}