我在Openshift Wildfly 10上有一个RESTFUL服务,当内存已满时抛出以下异常。我有 0 (no)依赖项,我甚至没有使用JMS。它使用简单的HashMap" dao"其中约有4个项目。
我找不到泄漏,Findbugs什么都没发现。有什么想法吗?
org.apache.activemq.artemis.core.client] (Finalizer) AMQ212008: I am closing a core ClientSessionFactory you left open. Please make sure you close all ClientSessionFactories explicitly before letting them go out of scope! 22,836,318:
java.lang.Exception
at org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl.<init>(ClientSessionFactoryImpl.java:170)
at org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.createSessionFactory(ServerLocatorImpl.java:756)
at org.apache.activemq.artemis.service.extensions.xa.recovery.ActiveMQXAResourceWrapper.connect(ActiveMQXAResourceWrapper.java:314)
at org.apache.activemq.artemis.service.extensions.xa.recovery.ActiveMQXAResourceWrapper.getDelegate(ActiveMQXAResourceWrapper.java:239)
at org.apache.activemq.artemis.service.extensions.xa.recovery.ActiveMQXAResourceWrapper.recover(ActiveMQXAResourceWrapper.java:69)
at org.apache.activemq.artemis.service.extensions.xa.ActiveMQXAResourceWrapperImpl.recover(ActiveMQXAResourceWrapperImpl.java:106)
at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.xaRecoveryFirstPass(XARecoveryModule.java:550)
at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.periodicWorkFirstPass(XARecoveryModule.java:190)
at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.doWorkInternal(PeriodicRecovery.java:747)
at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.run(PeriodicRecovery.java:375)
答案 0 :(得分:0)
WildFly 10本身将消耗大部分(即使不是全部)分配在小型装备上的内存。如果您想在OpenShift Online上运行它,您可能需要至少运行一个介质,如果不是大型设备。您可以按照以下说明检查设备的内存限制违规行为:https://developers.openshift.com/en/troubleshooting-faq.html#_why_is_my_application_restarting_automatically_or_having_memory_issues
您还可以尝试按照这些说明更改分配给JVM的内存量:https://developers.openshift.com/en/wildfly-jvm-memory.html
但请注意,如果您还在该设备上运行数据库,则仍会遇到内存问题。