[jboss-jira] [JBoss JIRA] (DROOLS-1193) MemoryUtil's static constructor call to ManagementFactory.getMemoryPoolMXBeans() fails on Google App Engine

Geoffrey De Smet (JIRA) issues at jboss.org
Wed May 25 14:37:00 EDT 2016


Geoffrey De Smet created DROOLS-1193:
----------------------------------------

             Summary: MemoryUtil's static constructor call to ManagementFactory.getMemoryPoolMXBeans() fails on Google App Engine
                 Key: DROOLS-1193
                 URL: https://issues.jboss.org/browse/DROOLS-1193
             Project: Drools
          Issue Type: Bug
          Components: core engine
            Reporter: Geoffrey De Smet
            Assignee: Mario Fusco


{code}
    [INFO] java.lang.NoClassDefFoundError: java.lang.management.ManagementFactory is a restricted class. Please see the Google  App Engine developer's guide for more details.

    [INFO]  at com.google.appengine.tools.development.agent.runtime.Runtime.reject(Runtime.java:52)

    [INFO]  at org.drools.core.util.MemoryUtil.<clinit>(MemoryUtil.java:33)

    [INFO]  at java.lang.Class.forName0(Native Method)

    [INFO]  at java.lang.Class.forName(Class.java:195)

    [INFO]  at com.google.appengine.tools.development.agent.runtime.RuntimeHelper.checkRestricted(RuntimeHelper.java:70)

    [INFO]  at com.google.appengine.tools.development.agent.runtime.Runtime.checkRestricted(Runtime.java:65)

    [INFO]  at org.drools.core.RuleBaseConfiguration.setPermGenThreshold(RuleBaseConfiguration.java:583)

    [INFO]  at org.drools.core.RuleBaseConfiguration.init(RuleBaseConfiguration.java:451)

    [INFO]  at org.drools.core.RuleBaseConfiguration.init(RuleBaseConfiguration.java:429)

    [INFO]  at org.drools.core.RuleBaseConfiguration.<init>(RuleBaseConfiguration.java:278)

    [INFO]  at org.drools.compiler.kie.builder.impl.KieServicesImpl.newKieBaseConfiguration(KieServicesImpl.java:185)
{code}

the problem is in this code:

{code}
    static {
        if (!hasPermGen() || ClassUtils.isAndroid()) { // hasPermGen is true because GAE doesn't support java 8 yet
            permGenStats = new DummyMemoryStats();
        } else {
            MemoryPoolMXBean permGenBean = null;
            for (MemoryPoolMXBean mx : ManagementFactory.getMemoryPoolMXBeans()) { // <=== EXCEPTION
                if (mx.getName() != null && mx.getName().contains("Perm")) {
                    permGenBean = mx;
                    break;
                }
            }
            permGenStats = new MBeanMemoryStats(permGenBean);
        }
    }
{code}



--
This message was sent by Atlassian JIRA
(v6.4.11#64026)


More information about the jboss-jira mailing list