aboutsummaryrefslogtreecommitdiffstats
path: root/common/openecomp-common-configuration-management/openecomp-configuration-management-core/src/main/java/org/openecomp/config/impl/ContextListener.java
blob: a3550731163920fd8045de28a64f9f3667ef6cb1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
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();
    }
  }

}