Это очень вероятно, чтобы создать утечку памяти в Tomcat 7.0.x - PullRequest
4 голосов
/ 29 февраля 2012

Время от времени я получаю сообщение об ошибке «Это может привести к утечке памяти».Как только я получаю сообщение об ошибке, я не могу подключиться к ActiveMQ.Мы недавно заметили эту ошибку. Вот след:

    27-Feb-2012 08:27:55 org.apache.catalina.loader.WebappClassLoader
clearReferencesThreads
SEVERE: The web application [/Webapp] appears to have started a
thread named [Camel thread 1: ActiveMQComponent] but has failed to stop
it. This is very likely to create a memory leak.
27-Feb-2012 08:27:55 org.apache.catalina.loader.WebappClassLoader
clearReferencesThreads
SEVERE: The web application [/Webapp] appears to have started a
thread named [Camel thread 2: ActiveMQComponent] but has failed to stop
it. This is very likely to create a memory leak.
27-Feb-2012 08:27:55 org.apache.catalina.loader.WebappClassLoader
clearReferencesThreads
SEVERE: The web application [/Webapp] appears to have started a
thread named [ActiveMQ Scheduler] but has failed to stop it. This is very
likely to create a memory leak.
27-Feb-2012 08:27:55 org.apache.catalina.loader.WebappClassLoader
clearReferencesThreads
SEVERE: The web application [/Webapp] appears to have started a
thread named [Camel thread 3: ProducerTemplate] but has failed to stop it.
This is very likely to create a memory leak.
27-Feb-2012 08:27:55 org.apache.catalina.loader.WebappClassLoader
clearReferencesThreads
SEVERE: The web application [/Webapp] appears to have started a
thread named [Camel thread 4: ActiveMQComponent] but has failed to stop
it. This is very likely to create a memory leak.
27-Feb-2012 08:27:55 org.apache.catalina.loader.WebappClassLoader
clearReferencesThreads
SEVERE: The web application [/Webapp] appears to have started a
thread named [Camel thread 5: ActiveMQComponent] but has failed to stop
it. This is very likely to create a memory leak.
27-Feb-2012 08:27:55 org.apache.catalina.loader.WebappClassLoader
clearReferencesThreads
SEVERE: The web application [/Webapp] appears to have started a
thread named [Camel thread 6: ActiveMQComponent] but has failed to stop
it. This is very likely to create a memory leak.
27-Feb-2012 08:27:55 org.apache.catalina.loader.WebappClassLoader
clearReferencesThreads
SEVERE: The web application [/Webapp] appears to have started a
thread named [Camel thread 7: ActiveMQComponent] but has failed to stop
it. This is very likely to create a memory leak.
27-Feb-2012 08:27:55 org.apache.catalina.loader.WebappClassLoader
clearReferencesThreads
SEVERE: The web application [/Webapp] appears to have started a
thread named [Camel thread 8: ActiveMQComponent] but has failed to stop
it. This is very likely to create a memory leak.
27-Feb-2012 08:27:55 org.apache.catalina.loader.WebappClassLoader
clearReferencesThreads
SEVERE: The web application [/Webapp] appears to have started a
thread named [Camel thread 9: ActiveMQComponent] but has failed to stop
it. This is very likely to create a memory leak.
27-Feb-2012 08:27:55 org.apache.catalina.loader.WebappClassLoader
clearReferencesThreads
SEVERE: The web application [/Webapp] appears to have started a
thread named [Camel thread 10: ActiveMQComponent] but has failed to stop
it. This is very likely to create a memory leak.
27-Feb-2012 08:27:55 org.apache.catalina.loader.WebappClassLoader
clearReferencesThreads
SEVERE: The web application [/Webapp] appears to have started a
thread named [Camel thread 11: ProducerTemplate] but has failed to stop
it. This is very likely to create a memory leak.
27-Feb-2012 08:27:55 org.apache.catalina.loader.WebappClassLoader
clearReferencesThreads
SEVERE: The web application [/Webapp] appears to have started a
thread named [Camel thread 12: ProducerTemplate] but has failed to stop
it. This is very likely to create a memory leak.
27-Feb-2012 08:27:55 org.apache.catalina.loader.WebappClassLoader
clearReferencesThreads
SEVERE: The web application [/Webapp] appears to have started a
thread named [Camel thread 13: ProducerTemplate] but has failed to stop
it. This is very likely to create a memory leak.
27-Feb-2012 08:27:55 org.apache.catalina.loader.WebappClassLoader
clearReferencesThreads
SEVERE: The web application [/Webapp] appears to have started a
thread named [ActiveMQ Connection Worker:
tcp://activeMQhost.localnet/192.168.0.15:61616] but has failed to stop it.
This is very likely to create a memory leak.

боб весны

<bean id="activemq" class="org.apache.activemq.camel.component.ActiveMQComponent">       
  <property name="brokerURL" value="${url}" /> 
</bean>

$ {url} установлен в

tcp://activeMQhost.localnet/192.168.0.15:61616?keepAlive=true&trace=true

Япытаясь соединиться с ActiveMQ с одного компьютера на другой.Например, веб-приложение, работающее на machine1 и activeMQ на activeMQhost .Иногда поток не мог закрыться по какой-то причине.Вы можете узнать URL соединения в конце трассировки:

tcp://activeMQhost.localnet/192.168.0.15:61616

Ответы [ 2 ]

1 голос
/ 29 марта 2012

Возможно, вы захотите попробовать указать destory-method для вашего bean-компонента фабрики соединений (обычно это «остановка» для ActiveMQ, не уверен насчет верблюжьей версии).

<bean id="..." class="..." destroy-method="stop">
  ...
</bean>
0 голосов
/ 29 февраля 2012

вы можете использовать вместо этого отказоустойчивый транспорт ... он более надежен даже для соединения с одним брокером

http://activemq.apache.org/failover-transport-reference.html

...