[JBoss JIRA] (WFLY-8217) ActiveMQ leaks connections if a JMS message is sent from an MDB
by Scott Van Wart (JIRA)
[ https://issues.jboss.org/browse/WFLY-8217?page=com.atlassian.jira.plugin.... ]
Scott Van Wart updated WFLY-8217:
---------------------------------
Description:
If an MDB causes a JMS message to be sent during the call to onMessage(), ActiveMQ won't close its connection. I'm using JMS2 through an @Inject'ed JMSContext. My sample project is an EAR with an EJB JAR (containing a service and an MDB) and a JAX-RS endpoint (entry point for the test).
1) Build the EAR
2) Run wildfly with the standalone-full.xml configuration:
{{standalone.bat --server-config=standalone-full.xml}}
3) Enable debug and error reporting for leaked connections with ActiveMQ/CCM:
{{jboss-cli.bat -c}}
{{/subsystem=jca/cached-connection-manager=cached-connection-manager:write-attribute(name=debug,value=true)}}
{{/subsystem=jca/cached-connection-manager=cached-connection-manager:write-attribute(name=error,value=true)}}
4) Deploy the EAR.
5) Access http://localhost:8080/leak-web/rest/test?message=Hi
The REST endpoint will send a message to the test topic (Defined in leak-ejb/src/main/java/test/mdb/TestTopic.java). TestTopicListener (in the same package as TestTopic) will receive the message and send a second message to the topic. Upon returning from TestTopicListener.onMessage(), the message is sent, but this shows up in the logs
(see attached log.txt)
I have no idea why JIRA attached each file twice.
was:
If an MDB causes a JMS message to be sent during the call to onMessage(), ActiveMQ won't close its connection. I'm using JMS2 through an @Inject'ed JMSContext. My sample project is an EAR with an EJB JAR (containing a service and an MDB) and a JAX-RS endpoint (entry point for the test).
1) Build the EAR
2) Run wildfly with the standalone-full.xml configuration:
{{standalone.bat --server-config=standalone-full.xml}}
3) Enable debug and error reporting for leaked connections with ActiveMQ/CCM:
{{jboss-cli.bat -c}}
{{/subsystem=jca/cached-connection-manager=cached-connection-manager:write-attribute(name=debug,value=true)}}
{{/subsystem=jca/cached-connection-manager=cached-connection-manager:write-attribute(name=error,value=true)}}
4) Deploy the EAR.
5) Access http://localhost:8080/leak-web/rest/test?message=Hi
The REST endpoint will send a message to the test topic (Defined in leak-ejb/src/main/java/test/mdb/TestTopic.java). TestTopicListener (in the same package as TestTopic) will receive the message and send a second message to the topic. Upon returning from TestTopicListener.onMessage(), the message is sent, but this shows up in the logs
(see attached log.txt)
> ActiveMQ leaks connections if a JMS message is sent from an MDB
> ---------------------------------------------------------------
>
> Key: WFLY-8217
> URL: https://issues.jboss.org/browse/WFLY-8217
> Project: WildFly
> Issue Type: Bug
> Components: JMS, Transactions
> Affects Versions: 10.1.0.Final
> Environment: Running on Windows 10. Java(TM) SE Runtime Environment (build 1.8.0_92-b14)
> Reporter: Scott Van Wart
> Assignee: Jeff Mesnil
> Attachments: leak.zip, leak.zip, log.txt, log.txt
>
>
> If an MDB causes a JMS message to be sent during the call to onMessage(), ActiveMQ won't close its connection. I'm using JMS2 through an @Inject'ed JMSContext. My sample project is an EAR with an EJB JAR (containing a service and an MDB) and a JAX-RS endpoint (entry point for the test).
> 1) Build the EAR
> 2) Run wildfly with the standalone-full.xml configuration:
> {{standalone.bat --server-config=standalone-full.xml}}
> 3) Enable debug and error reporting for leaked connections with ActiveMQ/CCM:
> {{jboss-cli.bat -c}}
> {{/subsystem=jca/cached-connection-manager=cached-connection-manager:write-attribute(name=debug,value=true)}}
> {{/subsystem=jca/cached-connection-manager=cached-connection-manager:write-attribute(name=error,value=true)}}
> 4) Deploy the EAR.
> 5) Access http://localhost:8080/leak-web/rest/test?message=Hi
> The REST endpoint will send a message to the test topic (Defined in leak-ejb/src/main/java/test/mdb/TestTopic.java). TestTopicListener (in the same package as TestTopic) will receive the message and send a second message to the topic. Upon returning from TestTopicListener.onMessage(), the message is sent, but this shows up in the logs
> (see attached log.txt)
> I have no idea why JIRA attached each file twice.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
9 years, 2 months
[JBoss JIRA] (WFLY-8217) ActiveMQ leaks connections if a JMS message is sent from an MDB
by Scott Van Wart (JIRA)
[ https://issues.jboss.org/browse/WFLY-8217?page=com.atlassian.jira.plugin.... ]
Scott Van Wart updated WFLY-8217:
---------------------------------
Description:
If an MDB causes a JMS message to be sent during the call to onMessage(), ActiveMQ won't close its connection. I'm using JMS2 through an @Inject'ed JMSContext. My sample project is an EAR with an EJB JAR (containing a service and an MDB) and a JAX-RS endpoint (entry point for the test).
1) Build the EAR
2) Run wildfly with the standalone-full.xml configuration:
{{standalone.bat --server-config=standalone-full.xml}}
3) Enable debug and error reporting for leaked connections with ActiveMQ/CCM:
{{jboss-cli.bat -c}}
{{/subsystem=jca/cached-connection-manager=cached-connection-manager:write-attribute(name=debug,value=true)}}
{{/subsystem=jca/cached-connection-manager=cached-connection-manager:write-attribute(name=error,value=true)}}
4) Deploy the EAR.
5) Access http://localhost:8080/leak-web/rest/test?message=Hi
The REST endpoint will send a message to the test topic (Defined in leak-ejb/src/main/java/test/mdb/TestTopic.java). TestTopicListener (in the same package as TestTopic) will receive the message and send a second message to the topic. Upon returning from TestTopicListener.onMessage(), the message is sent, but this shows up in the logs
(see attached log.txt)
was:
If an MDB causes a JMS message to be sent during the call to onMessage(), ActiveMQ won't close its connection. I'm using JMS2 through an @Inject'ed JMSContext. My sample project is an EAR with an EJB JAR (containing a service and an MDB) and a JAX-RS endpoint (entry point for the test).
1) Build the EAR
2) Run wildfly with the standalone-full.xml configuration:
{{ standalone.bat --server-config=standalone-full.xml}}
3) Enable debug and error reporting for leaked connections with ActiveMQ/CCM:
{{ jboss-cli.bat -c}}
{{ /subsystem=jca/cached-connection-manager=cached-connection-manager:write-attribute(name=debug,value=true)
/subsystem=jca/cached-connection-manager=cached-connection-manager:write-attribute(name=error,value=true)}}
4) Deploy the EAR.
5) Access http://localhost:8080/leak-web/rest/test?message=Hi
The REST endpoint will send a message to the test topic (Defined in leak-ejb/src/main/java/test/mdb/TestTopic.java). TestTopicListener (in the same package as TestTopic) will receive the message and send a second message to the topic. Upon returning from TestTopicListener.onMessage(), the message is sent, but this shows up in the logs:
{{10:45:10,692 WARN [org.jboss.weld.Interceptor] (Thread-0 (ActiveMQ-client-global-threads-1352698443)) WELD-001703: Unable to determine the @Intercepted Bean<?> for [UnbackedAnnotatedField] @Inject @Intercepted private com.arjuna.ats.jta.cdi.transactional.TransactionalInterceptorRequired.interceptedBean
10:45:10,698 INFO [test.mdb.TestTopicListener] (Thread-0 (ActiveMQ-client-global-threads-1352698443)) Message In: Hi
10:45:10,704 INFO [org.jboss.jca.core.api.connectionmanager.ccm.CachedConnectionManager] (Thread-0 (ActiveMQ-client-global-threads-1352698443)) IJ000100: Closing a connection for you. Please close them yourself: org.apache.activemq.artemis.ra.ActiveMQRASession@7e39c71f: java.lang.Throwable: STACKTRACE
at org.jboss.jca.core.connectionmanager.ccm.CachedConnectionManagerImpl.registerConnection(CachedConnectionManagerImpl.java:308)
at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.allocateConnection(AbstractConnectionManager.java:777)
at org.apache.activemq.artemis.ra.ActiveMQRASessionFactoryImpl.allocateConnection(ActiveMQRASessionFactoryImpl.java:853)
at org.apache.activemq.artemis.ra.ActiveMQRASessionFactoryImpl.createSession(ActiveMQRASessionFactoryImpl.java:520)
at org.apache.activemq.artemis.ra.ActiveMQRASessionFactoryImpl.createSession(ActiveMQRASessionFactoryImpl.java:734)
at org.apache.activemq.artemis.jms.client.ActiveMQJMSContext.checkSession(ActiveMQJMSContext.java:142)
at org.apache.activemq.artemis.jms.client.ActiveMQJMSContext.createTextMessage(ActiveMQJMSContext.java:330)
at org.wildfly.extension.messaging.activemq.deployment.injection.JMSContextWrapper.createTextMessage(JMSContextWrapper.java:157)
at test.service.TestService.sendMessage(TestService.java:23)}}
> ActiveMQ leaks connections if a JMS message is sent from an MDB
> ---------------------------------------------------------------
>
> Key: WFLY-8217
> URL: https://issues.jboss.org/browse/WFLY-8217
> Project: WildFly
> Issue Type: Bug
> Components: JMS, Transactions
> Affects Versions: 10.1.0.Final
> Environment: Running on Windows 10. Java(TM) SE Runtime Environment (build 1.8.0_92-b14)
> Reporter: Scott Van Wart
> Assignee: Jeff Mesnil
> Attachments: leak.zip, leak.zip, log.txt, log.txt
>
>
> If an MDB causes a JMS message to be sent during the call to onMessage(), ActiveMQ won't close its connection. I'm using JMS2 through an @Inject'ed JMSContext. My sample project is an EAR with an EJB JAR (containing a service and an MDB) and a JAX-RS endpoint (entry point for the test).
> 1) Build the EAR
> 2) Run wildfly with the standalone-full.xml configuration:
> {{standalone.bat --server-config=standalone-full.xml}}
> 3) Enable debug and error reporting for leaked connections with ActiveMQ/CCM:
> {{jboss-cli.bat -c}}
> {{/subsystem=jca/cached-connection-manager=cached-connection-manager:write-attribute(name=debug,value=true)}}
> {{/subsystem=jca/cached-connection-manager=cached-connection-manager:write-attribute(name=error,value=true)}}
> 4) Deploy the EAR.
> 5) Access http://localhost:8080/leak-web/rest/test?message=Hi
> The REST endpoint will send a message to the test topic (Defined in leak-ejb/src/main/java/test/mdb/TestTopic.java). TestTopicListener (in the same package as TestTopic) will receive the message and send a second message to the topic. Upon returning from TestTopicListener.onMessage(), the message is sent, but this shows up in the logs
> (see attached log.txt)
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
9 years, 2 months
[JBoss JIRA] (WFLY-8217) ActiveMQ leaks connections if a JMS message is sent from an MDB
by Scott Van Wart (JIRA)
[ https://issues.jboss.org/browse/WFLY-8217?page=com.atlassian.jira.plugin.... ]
Scott Van Wart updated WFLY-8217:
---------------------------------
Attachment: leak.zip
> ActiveMQ leaks connections if a JMS message is sent from an MDB
> ---------------------------------------------------------------
>
> Key: WFLY-8217
> URL: https://issues.jboss.org/browse/WFLY-8217
> Project: WildFly
> Issue Type: Bug
> Components: JMS, Transactions
> Affects Versions: 10.1.0.Final
> Environment: Running on Windows 10. Java(TM) SE Runtime Environment (build 1.8.0_92-b14)
> Reporter: Scott Van Wart
> Assignee: Jeff Mesnil
> Attachments: leak.zip, leak.zip, log.txt, log.txt
>
>
> If an MDB causes a JMS message to be sent during the call to onMessage(), ActiveMQ won't close its connection. I'm using JMS2 through an @Inject'ed JMSContext. My sample project is an EAR with an EJB JAR (containing a service and an MDB) and a JAX-RS endpoint (entry point for the test).
> 1) Build the EAR
> 2) Run wildfly with the standalone-full.xml configuration:
> {{ standalone.bat --server-config=standalone-full.xml}}
> 3) Enable debug and error reporting for leaked connections with ActiveMQ/CCM:
> {{ jboss-cli.bat -c}}
> {{ /subsystem=jca/cached-connection-manager=cached-connection-manager:write-attribute(name=debug,value=true)
> /subsystem=jca/cached-connection-manager=cached-connection-manager:write-attribute(name=error,value=true)}}
> 4) Deploy the EAR.
> 5) Access http://localhost:8080/leak-web/rest/test?message=Hi
> The REST endpoint will send a message to the test topic (Defined in leak-ejb/src/main/java/test/mdb/TestTopic.java). TestTopicListener (in the same package as TestTopic) will receive the message and send a second message to the topic. Upon returning from TestTopicListener.onMessage(), the message is sent, but this shows up in the logs:
> {{10:45:10,692 WARN [org.jboss.weld.Interceptor] (Thread-0 (ActiveMQ-client-global-threads-1352698443)) WELD-001703: Unable to determine the @Intercepted Bean<?> for [UnbackedAnnotatedField] @Inject @Intercepted private com.arjuna.ats.jta.cdi.transactional.TransactionalInterceptorRequired.interceptedBean
> 10:45:10,698 INFO [test.mdb.TestTopicListener] (Thread-0 (ActiveMQ-client-global-threads-1352698443)) Message In: Hi
> 10:45:10,704 INFO [org.jboss.jca.core.api.connectionmanager.ccm.CachedConnectionManager] (Thread-0 (ActiveMQ-client-global-threads-1352698443)) IJ000100: Closing a connection for you. Please close them yourself: org.apache.activemq.artemis.ra.ActiveMQRASession@7e39c71f: java.lang.Throwable: STACKTRACE
> at org.jboss.jca.core.connectionmanager.ccm.CachedConnectionManagerImpl.registerConnection(CachedConnectionManagerImpl.java:308)
> at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.allocateConnection(AbstractConnectionManager.java:777)
> at org.apache.activemq.artemis.ra.ActiveMQRASessionFactoryImpl.allocateConnection(ActiveMQRASessionFactoryImpl.java:853)
> at org.apache.activemq.artemis.ra.ActiveMQRASessionFactoryImpl.createSession(ActiveMQRASessionFactoryImpl.java:520)
> at org.apache.activemq.artemis.ra.ActiveMQRASessionFactoryImpl.createSession(ActiveMQRASessionFactoryImpl.java:734)
> at org.apache.activemq.artemis.jms.client.ActiveMQJMSContext.checkSession(ActiveMQJMSContext.java:142)
> at org.apache.activemq.artemis.jms.client.ActiveMQJMSContext.createTextMessage(ActiveMQJMSContext.java:330)
> at org.wildfly.extension.messaging.activemq.deployment.injection.JMSContextWrapper.createTextMessage(JMSContextWrapper.java:157)
> at test.service.TestService.sendMessage(TestService.java:23)}}
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
9 years, 2 months
[JBoss JIRA] (WFLY-8217) ActiveMQ leaks connections if a JMS message is sent from an MDB
by Scott Van Wart (JIRA)
[ https://issues.jboss.org/browse/WFLY-8217?page=com.atlassian.jira.plugin.... ]
Scott Van Wart updated WFLY-8217:
---------------------------------
Attachment: log.txt
> ActiveMQ leaks connections if a JMS message is sent from an MDB
> ---------------------------------------------------------------
>
> Key: WFLY-8217
> URL: https://issues.jboss.org/browse/WFLY-8217
> Project: WildFly
> Issue Type: Bug
> Components: JMS, Transactions
> Affects Versions: 10.1.0.Final
> Environment: Running on Windows 10. Java(TM) SE Runtime Environment (build 1.8.0_92-b14)
> Reporter: Scott Van Wart
> Assignee: Jeff Mesnil
> Attachments: leak.zip, leak.zip, log.txt, log.txt
>
>
> If an MDB causes a JMS message to be sent during the call to onMessage(), ActiveMQ won't close its connection. I'm using JMS2 through an @Inject'ed JMSContext. My sample project is an EAR with an EJB JAR (containing a service and an MDB) and a JAX-RS endpoint (entry point for the test).
> 1) Build the EAR
> 2) Run wildfly with the standalone-full.xml configuration:
> {{ standalone.bat --server-config=standalone-full.xml}}
> 3) Enable debug and error reporting for leaked connections with ActiveMQ/CCM:
> {{ jboss-cli.bat -c}}
> {{ /subsystem=jca/cached-connection-manager=cached-connection-manager:write-attribute(name=debug,value=true)
> /subsystem=jca/cached-connection-manager=cached-connection-manager:write-attribute(name=error,value=true)}}
> 4) Deploy the EAR.
> 5) Access http://localhost:8080/leak-web/rest/test?message=Hi
> The REST endpoint will send a message to the test topic (Defined in leak-ejb/src/main/java/test/mdb/TestTopic.java). TestTopicListener (in the same package as TestTopic) will receive the message and send a second message to the topic. Upon returning from TestTopicListener.onMessage(), the message is sent, but this shows up in the logs:
> {{10:45:10,692 WARN [org.jboss.weld.Interceptor] (Thread-0 (ActiveMQ-client-global-threads-1352698443)) WELD-001703: Unable to determine the @Intercepted Bean<?> for [UnbackedAnnotatedField] @Inject @Intercepted private com.arjuna.ats.jta.cdi.transactional.TransactionalInterceptorRequired.interceptedBean
> 10:45:10,698 INFO [test.mdb.TestTopicListener] (Thread-0 (ActiveMQ-client-global-threads-1352698443)) Message In: Hi
> 10:45:10,704 INFO [org.jboss.jca.core.api.connectionmanager.ccm.CachedConnectionManager] (Thread-0 (ActiveMQ-client-global-threads-1352698443)) IJ000100: Closing a connection for you. Please close them yourself: org.apache.activemq.artemis.ra.ActiveMQRASession@7e39c71f: java.lang.Throwable: STACKTRACE
> at org.jboss.jca.core.connectionmanager.ccm.CachedConnectionManagerImpl.registerConnection(CachedConnectionManagerImpl.java:308)
> at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.allocateConnection(AbstractConnectionManager.java:777)
> at org.apache.activemq.artemis.ra.ActiveMQRASessionFactoryImpl.allocateConnection(ActiveMQRASessionFactoryImpl.java:853)
> at org.apache.activemq.artemis.ra.ActiveMQRASessionFactoryImpl.createSession(ActiveMQRASessionFactoryImpl.java:520)
> at org.apache.activemq.artemis.ra.ActiveMQRASessionFactoryImpl.createSession(ActiveMQRASessionFactoryImpl.java:734)
> at org.apache.activemq.artemis.jms.client.ActiveMQJMSContext.checkSession(ActiveMQJMSContext.java:142)
> at org.apache.activemq.artemis.jms.client.ActiveMQJMSContext.createTextMessage(ActiveMQJMSContext.java:330)
> at org.wildfly.extension.messaging.activemq.deployment.injection.JMSContextWrapper.createTextMessage(JMSContextWrapper.java:157)
> at test.service.TestService.sendMessage(TestService.java:23)}}
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
9 years, 2 months
[JBoss JIRA] (WFLY-8217) ActiveMQ leaks connections if a JMS message is sent from an MDB
by Scott Van Wart (JIRA)
[ https://issues.jboss.org/browse/WFLY-8217?page=com.atlassian.jira.plugin.... ]
Scott Van Wart updated WFLY-8217:
---------------------------------
Attachment: log.txt
> ActiveMQ leaks connections if a JMS message is sent from an MDB
> ---------------------------------------------------------------
>
> Key: WFLY-8217
> URL: https://issues.jboss.org/browse/WFLY-8217
> Project: WildFly
> Issue Type: Bug
> Components: JMS, Transactions
> Affects Versions: 10.1.0.Final
> Environment: Running on Windows 10. Java(TM) SE Runtime Environment (build 1.8.0_92-b14)
> Reporter: Scott Van Wart
> Assignee: Jeff Mesnil
> Attachments: leak.zip, leak.zip, log.txt, log.txt
>
>
> If an MDB causes a JMS message to be sent during the call to onMessage(), ActiveMQ won't close its connection. I'm using JMS2 through an @Inject'ed JMSContext. My sample project is an EAR with an EJB JAR (containing a service and an MDB) and a JAX-RS endpoint (entry point for the test).
> 1) Build the EAR
> 2) Run wildfly with the standalone-full.xml configuration:
> {{ standalone.bat --server-config=standalone-full.xml}}
> 3) Enable debug and error reporting for leaked connections with ActiveMQ/CCM:
> {{ jboss-cli.bat -c}}
> {{ /subsystem=jca/cached-connection-manager=cached-connection-manager:write-attribute(name=debug,value=true)
> /subsystem=jca/cached-connection-manager=cached-connection-manager:write-attribute(name=error,value=true)}}
> 4) Deploy the EAR.
> 5) Access http://localhost:8080/leak-web/rest/test?message=Hi
> The REST endpoint will send a message to the test topic (Defined in leak-ejb/src/main/java/test/mdb/TestTopic.java). TestTopicListener (in the same package as TestTopic) will receive the message and send a second message to the topic. Upon returning from TestTopicListener.onMessage(), the message is sent, but this shows up in the logs:
> {{10:45:10,692 WARN [org.jboss.weld.Interceptor] (Thread-0 (ActiveMQ-client-global-threads-1352698443)) WELD-001703: Unable to determine the @Intercepted Bean<?> for [UnbackedAnnotatedField] @Inject @Intercepted private com.arjuna.ats.jta.cdi.transactional.TransactionalInterceptorRequired.interceptedBean
> 10:45:10,698 INFO [test.mdb.TestTopicListener] (Thread-0 (ActiveMQ-client-global-threads-1352698443)) Message In: Hi
> 10:45:10,704 INFO [org.jboss.jca.core.api.connectionmanager.ccm.CachedConnectionManager] (Thread-0 (ActiveMQ-client-global-threads-1352698443)) IJ000100: Closing a connection for you. Please close them yourself: org.apache.activemq.artemis.ra.ActiveMQRASession@7e39c71f: java.lang.Throwable: STACKTRACE
> at org.jboss.jca.core.connectionmanager.ccm.CachedConnectionManagerImpl.registerConnection(CachedConnectionManagerImpl.java:308)
> at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.allocateConnection(AbstractConnectionManager.java:777)
> at org.apache.activemq.artemis.ra.ActiveMQRASessionFactoryImpl.allocateConnection(ActiveMQRASessionFactoryImpl.java:853)
> at org.apache.activemq.artemis.ra.ActiveMQRASessionFactoryImpl.createSession(ActiveMQRASessionFactoryImpl.java:520)
> at org.apache.activemq.artemis.ra.ActiveMQRASessionFactoryImpl.createSession(ActiveMQRASessionFactoryImpl.java:734)
> at org.apache.activemq.artemis.jms.client.ActiveMQJMSContext.checkSession(ActiveMQJMSContext.java:142)
> at org.apache.activemq.artemis.jms.client.ActiveMQJMSContext.createTextMessage(ActiveMQJMSContext.java:330)
> at org.wildfly.extension.messaging.activemq.deployment.injection.JMSContextWrapper.createTextMessage(JMSContextWrapper.java:157)
> at test.service.TestService.sendMessage(TestService.java:23)}}
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
9 years, 2 months
[JBoss JIRA] (WFLY-8217) ActiveMQ leaks connections if a JMS message is sent from an MDB
by Scott Van Wart (JIRA)
[ https://issues.jboss.org/browse/WFLY-8217?page=com.atlassian.jira.plugin.... ]
Scott Van Wart updated WFLY-8217:
---------------------------------
Attachment: leak.zip
> ActiveMQ leaks connections if a JMS message is sent from an MDB
> ---------------------------------------------------------------
>
> Key: WFLY-8217
> URL: https://issues.jboss.org/browse/WFLY-8217
> Project: WildFly
> Issue Type: Bug
> Components: JMS, Transactions
> Affects Versions: 10.1.0.Final
> Environment: Running on Windows 10. Java(TM) SE Runtime Environment (build 1.8.0_92-b14)
> Reporter: Scott Van Wart
> Assignee: Jeff Mesnil
> Attachments: leak.zip, leak.zip, log.txt, log.txt
>
>
> If an MDB causes a JMS message to be sent during the call to onMessage(), ActiveMQ won't close its connection. I'm using JMS2 through an @Inject'ed JMSContext. My sample project is an EAR with an EJB JAR (containing a service and an MDB) and a JAX-RS endpoint (entry point for the test).
> 1) Build the EAR
> 2) Run wildfly with the standalone-full.xml configuration:
> {{ standalone.bat --server-config=standalone-full.xml}}
> 3) Enable debug and error reporting for leaked connections with ActiveMQ/CCM:
> {{ jboss-cli.bat -c}}
> {{ /subsystem=jca/cached-connection-manager=cached-connection-manager:write-attribute(name=debug,value=true)
> /subsystem=jca/cached-connection-manager=cached-connection-manager:write-attribute(name=error,value=true)}}
> 4) Deploy the EAR.
> 5) Access http://localhost:8080/leak-web/rest/test?message=Hi
> The REST endpoint will send a message to the test topic (Defined in leak-ejb/src/main/java/test/mdb/TestTopic.java). TestTopicListener (in the same package as TestTopic) will receive the message and send a second message to the topic. Upon returning from TestTopicListener.onMessage(), the message is sent, but this shows up in the logs:
> {{10:45:10,692 WARN [org.jboss.weld.Interceptor] (Thread-0 (ActiveMQ-client-global-threads-1352698443)) WELD-001703: Unable to determine the @Intercepted Bean<?> for [UnbackedAnnotatedField] @Inject @Intercepted private com.arjuna.ats.jta.cdi.transactional.TransactionalInterceptorRequired.interceptedBean
> 10:45:10,698 INFO [test.mdb.TestTopicListener] (Thread-0 (ActiveMQ-client-global-threads-1352698443)) Message In: Hi
> 10:45:10,704 INFO [org.jboss.jca.core.api.connectionmanager.ccm.CachedConnectionManager] (Thread-0 (ActiveMQ-client-global-threads-1352698443)) IJ000100: Closing a connection for you. Please close them yourself: org.apache.activemq.artemis.ra.ActiveMQRASession@7e39c71f: java.lang.Throwable: STACKTRACE
> at org.jboss.jca.core.connectionmanager.ccm.CachedConnectionManagerImpl.registerConnection(CachedConnectionManagerImpl.java:308)
> at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.allocateConnection(AbstractConnectionManager.java:777)
> at org.apache.activemq.artemis.ra.ActiveMQRASessionFactoryImpl.allocateConnection(ActiveMQRASessionFactoryImpl.java:853)
> at org.apache.activemq.artemis.ra.ActiveMQRASessionFactoryImpl.createSession(ActiveMQRASessionFactoryImpl.java:520)
> at org.apache.activemq.artemis.ra.ActiveMQRASessionFactoryImpl.createSession(ActiveMQRASessionFactoryImpl.java:734)
> at org.apache.activemq.artemis.jms.client.ActiveMQJMSContext.checkSession(ActiveMQJMSContext.java:142)
> at org.apache.activemq.artemis.jms.client.ActiveMQJMSContext.createTextMessage(ActiveMQJMSContext.java:330)
> at org.wildfly.extension.messaging.activemq.deployment.injection.JMSContextWrapper.createTextMessage(JMSContextWrapper.java:157)
> at test.service.TestService.sendMessage(TestService.java:23)}}
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
9 years, 2 months
[JBoss JIRA] (WFLY-8217) ActiveMQ leaks connections if a JMS message is sent from an MDB
by Scott Van Wart (JIRA)
Scott Van Wart created WFLY-8217:
------------------------------------
Summary: ActiveMQ leaks connections if a JMS message is sent from an MDB
Key: WFLY-8217
URL: https://issues.jboss.org/browse/WFLY-8217
Project: WildFly
Issue Type: Bug
Components: JMS, Transactions
Affects Versions: 10.1.0.Final
Environment: Running on Windows 10. Java(TM) SE Runtime Environment (build 1.8.0_92-b14)
Reporter: Scott Van Wart
Assignee: Jeff Mesnil
If an MDB causes a JMS message to be sent during the call to onMessage(), ActiveMQ won't close its connection. I'm using JMS2 through an @Inject'ed JMSContext. My sample project is an EAR with an EJB JAR (containing a service and an MDB) and a JAX-RS endpoint (entry point for the test).
1) Build the EAR
2) Run wildfly with the standalone-full.xml configuration:
{{ standalone.bat --server-config=standalone-full.xml}}
3) Enable debug and error reporting for leaked connections with ActiveMQ/CCM:
{{ jboss-cli.bat -c}}
{{ /subsystem=jca/cached-connection-manager=cached-connection-manager:write-attribute(name=debug,value=true)
/subsystem=jca/cached-connection-manager=cached-connection-manager:write-attribute(name=error,value=true)}}
4) Deploy the EAR.
5) Access http://localhost:8080/leak-web/rest/test?message=Hi
The REST endpoint will send a message to the test topic (Defined in leak-ejb/src/main/java/test/mdb/TestTopic.java). TestTopicListener (in the same package as TestTopic) will receive the message and send a second message to the topic. Upon returning from TestTopicListener.onMessage(), the message is sent, but this shows up in the logs:
{{10:45:10,692 WARN [org.jboss.weld.Interceptor] (Thread-0 (ActiveMQ-client-global-threads-1352698443)) WELD-001703: Unable to determine the @Intercepted Bean<?> for [UnbackedAnnotatedField] @Inject @Intercepted private com.arjuna.ats.jta.cdi.transactional.TransactionalInterceptorRequired.interceptedBean
10:45:10,698 INFO [test.mdb.TestTopicListener] (Thread-0 (ActiveMQ-client-global-threads-1352698443)) Message In: Hi
10:45:10,704 INFO [org.jboss.jca.core.api.connectionmanager.ccm.CachedConnectionManager] (Thread-0 (ActiveMQ-client-global-threads-1352698443)) IJ000100: Closing a connection for you. Please close them yourself: org.apache.activemq.artemis.ra.ActiveMQRASession@7e39c71f: java.lang.Throwable: STACKTRACE
at org.jboss.jca.core.connectionmanager.ccm.CachedConnectionManagerImpl.registerConnection(CachedConnectionManagerImpl.java:308)
at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.allocateConnection(AbstractConnectionManager.java:777)
at org.apache.activemq.artemis.ra.ActiveMQRASessionFactoryImpl.allocateConnection(ActiveMQRASessionFactoryImpl.java:853)
at org.apache.activemq.artemis.ra.ActiveMQRASessionFactoryImpl.createSession(ActiveMQRASessionFactoryImpl.java:520)
at org.apache.activemq.artemis.ra.ActiveMQRASessionFactoryImpl.createSession(ActiveMQRASessionFactoryImpl.java:734)
at org.apache.activemq.artemis.jms.client.ActiveMQJMSContext.checkSession(ActiveMQJMSContext.java:142)
at org.apache.activemq.artemis.jms.client.ActiveMQJMSContext.createTextMessage(ActiveMQJMSContext.java:330)
at org.wildfly.extension.messaging.activemq.deployment.injection.JMSContextWrapper.createTextMessage(JMSContextWrapper.java:157)
at test.service.TestService.sendMessage(TestService.java:23)}}
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
9 years, 2 months
[JBoss JIRA] (WFCORE-2320) Unable to start Slave host after Master was restarted with enabled RBAC
by Brian Stansberry (JIRA)
[ https://issues.jboss.org/browse/WFCORE-2320?page=com.atlassian.jira.plugi... ]
Brian Stansberry commented on WFCORE-2320:
------------------------------------------
The "[Host Controller] 10:52:59,564 ERROR [org.jboss.as.server] (Host Controller Service Threads - 31) WFLYSRV0216: Error cleaning obsolete content WFLYCTL0031: No operation named 'clean-obsolete-content' exists at address []" logging is a separate issue, although probably with the same general cause -- internal callers not having credentials needed to function with all permissions.
> Unable to start Slave host after Master was restarted with enabled RBAC
> -----------------------------------------------------------------------
>
> Key: WFCORE-2320
> URL: https://issues.jboss.org/browse/WFCORE-2320
> Project: WildFly Core
> Issue Type: Bug
> Components: Domain Management, Security
> Reporter: Jan Tymel
> Priority: Blocker
>
> It is not possible to connect to previously shutdown domain controller that uses RBAC. If steps to reproduce are followed then the following output is given on slave:
> {code}
> [Host Controller] 10:47:57,754 INFO [org.jboss.as.host.controller] (Host Controller Service Threads - 8) WFLYHC0150: Trying to reconnect to master host controller.
> [Host Controller] 10:48:01,756 INFO [org.jboss.as.host.controller] (Host Controller Service Threads - 8) WFLYHC0150: Trying to reconnect to master host controller.
> [Host Controller] 10:48:10,918 INFO [org.jboss.as.host.controller] (Host Controller Service Threads - 8) WFLYHC0150: Trying to reconnect to master host controller.
> [Host Controller] 10:48:26,026 INFO [org.jboss.as.host.controller] (Host Controller Service Threads - 8) WFLYHC0150: Trying to reconnect to master host controller.
> [Host Controller] 10:48:41,047 INFO [org.jboss.as.host.controller] (Host Controller Service Threads - 8) WFLYHC0150: Trying to reconnect to master host controller.
> [Host Controller] 10:48:56,059 INFO [org.jboss.as.host.controller] (Host Controller Service Threads - 8) WFLYHC0150: Trying to reconnect to master host controller.
> [Host Controller] 10:49:11,106 INFO [org.jboss.as.host.controller] (Host Controller Service Threads - 8) WFLYHC0150: Trying to reconnect to master host controller.
> [Host Controller] 10:49:26,133 INFO [org.jboss.as.host.controller] (Host Controller Service Threads - 8) WFLYHC0150: Trying to reconnect to master host controller.
> [Host Controller] 10:49:41,148 INFO [org.jboss.as.host.controller] (Host Controller Service Threads - 8) WFLYHC0150: Trying to reconnect to master host controller.
> [Host Controller] 10:49:56,180 INFO [org.jboss.as.host.controller] (Host Controller Service Threads - 8) WFLYHC0150: Trying to reconnect to master host controller.
> [Host Controller] 10:50:11,202 INFO [org.jboss.as.host.controller] (Host Controller Service Threads - 8) WFLYHC0150: Trying to reconnect to master host controller.
> [Host Controller] 10:50:26,215 INFO [org.jboss.as.host.controller] (Host Controller Service Threads - 8) WFLYHC0150: Trying to reconnect to master host controller.
> [Host Controller] 10:50:41,230 INFO [org.jboss.as.host.controller] (Host Controller Service Threads - 8) WFLYHC0150: Trying to reconnect to master host controller.
> [Host Controller] 10:50:56,264 INFO [org.jboss.as.host.controller] (Host Controller Service Threads - 8) WFLYHC0150: Trying to reconnect to master host controller.
> [Host Controller] 10:50:56,273 WARN [org.jboss.as.protocol.connection] (management task-1) WFLYPRT0018: No such request (15) associated with channel Channel ID ce1200c8 (outbound) of Remoting connection 6cf4e35b to /127.0.0.1:9999 of endpoint "my-local-domain:MANAGEMENT" <988a70d>
> [Host Controller] 10:51:11,275 INFO [org.jboss.as.host.controller] (Host Controller Service Threads - 8) WFLYHC0150: Trying to reconnect to master host controller.
> [Host Controller] 10:51:11,304 WARN [org.jboss.as.protocol.connection] (management task-7) WFLYPRT0018: No such request (16) associated with channel Channel ID cabd84e6 (outbound) of Remoting connection 3083f850 to /127.0.0.1:9999 of endpoint "my-local-domain:MANAGEMENT" <988a70d>
> (...)
> Host Controller] 10:52:26,401 INFO [org.jboss.as.host.controller] (Host Controller Service Threads - 8) WFLYHC0150: Trying to reconnect to master host controller.
> [Host Controller] 10:52:40,194 ERROR [org.jboss.as.server] (Host Controller Service Threads - 7) WFLYSRV0216: Error cleaning obsolete content WFLYCTL0313: Unauthorized to execute operation 'read-attribute' for resource '[]' -- "WFLYCTL0332: Permission denied"
> [Host Controller] 10:52:40,196 ERROR [org.jboss.as.server] (Host Controller Service Threads - 7) WFLYSRV0216: Error cleaning obsolete content WFLYCTL0031: No operation named 'clean-obsolete-content' exists at address []
> {code}
> On master instance is given following output after a while:
> {code}
> [Host Controller] 10:52:59,560 ERROR [org.jboss.as.server] (Host Controller Service Threads - 31) WFLYSRV0216: Error cleaning obsolete content WFLYCTL0313: Unauthorized to execute operation 'read-attribute' for resource '[]' -- "WFLYCTL0332: Permission denied"
> [Host Controller] 10:52:59,564 ERROR [org.jboss.as.server] (Host Controller Service Threads - 31) WFLYSRV0216: Error cleaning obsolete content WFLYCTL0031: No operation named 'clean-obsolete-content' exists at address []
> {code}
> Once the slave instance has been shut down, it is not possible to start it again. See following output:
> {code}
> [Host Controller] 10:55:34,409 INFO [org.jboss.as.remoting] (MSC service thread 1-2) WFLYRMT0001: Listening on 127.0.0.1:19999
> [Host Controller] 10:55:34,701 WARN [org.jboss.as.host.controller] (Controller Boot Thread) WFLYHC0001: Could not connect to remote domain controller remote://127.0.0.1:9999: 1-$-WFLYCTL0216: Management resource '[]' not found
> [Host Controller] at org.jboss.as.host.controller.RemoteDomainConnection$HostControllerConnectRequest.handleRequest(RemoteDomainConnection.java:390)
> [Host Controller] at org.jboss.as.protocol.mgmt.AbstractMessageHandler.handleMessage(AbstractMessageHandler.java:321)
> [Host Controller] at org.jboss.as.protocol.mgmt.AbstractMessageHandler.handleRequest(AbstractMessageHandler.java:286)
> [Host Controller] at org.jboss.as.protocol.mgmt.AbstractMessageHandler.handleMessage(AbstractMessageHandler.java:234)
> [Host Controller] at org.jboss.as.protocol.mgmt.ManagementChannelReceiver.handleMessage(ManagementChannelReceiver.java:85)
> [Host Controller] at org.jboss.remoting3.remote.RemoteConnectionChannel.lambda$handleMessageData$3(RemoteConnectionChannel.java:434)
> [Host Controller] at org.jboss.remoting3.EndpointImpl$TrackingExecutor.lambda$execute$0(EndpointImpl.java:817)
> [Host Controller] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> [Host Controller] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> [Host Controller] at java.lang.Thread.run(Thread.java:745)
> [Host Controller]
> [Host Controller] 10:55:34,702 WARN [org.jboss.as.host.controller] (Controller Boot Thread) WFLYHC0147: No domain controller discovery options remain.
> [Host Controller] 10:55:34,702 ERROR [org.jboss.as.host.controller] (Controller Boot Thread) WFLYHC0002: Could not connect to master. Error was: java.lang.IllegalStateException: WFLYHC0120: Tried all domain controller discovery option(s) but unable to connect
> [Host Controller] 10:55:34,707 FATAL [org.jboss.as.host.controller] (Controller Boot Thread) WFLYHC0178: Aborting with exit code 99
> [Host Controller] 10:55:34,734 INFO [org.jboss.as] (MSC service thread 1-4) WFLYSRV0050: JBoss EAP 7.1.0.Alpha1 (WildFly Core 3.0.0.Beta2-redhat-1) stopped in 16ms
> {code}
> Setting priority to blocker since this is a regression against 7.0.0.GA
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
9 years, 2 months