[ https://issues.apache.org/jira/browse/ARTEMIS-745?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15530285#comment-15530285 ]
Ruben Cala commented on ARTEMIS-745: ------------------------------------ -- Create a java org.apache.activemq.artemis.api.core.client.ClientProducer that sends messages to address "jms.topic.testaddress" continuously (1 per sec) -- Create a java org.apache.activemq.artemis.api.core.client.ClientConsumer that creates a non-durable temporary queue on address "jms.topic.testaddress": ServerLocator serverLocator = ActiveMQClient.createServerLocator("tcp://localhost:61616"); ClientSessionFactory sf = serverLocator.createSessionFactory(); ClientSession session = sf.createSession(true,true,0); String qname = "testaddressQueue"; session.createTemporaryQueue(qname, "jms.topic.testaddress"); ClientConsumer consumer = createConsumer(qname); session.start(); while (true) { ClientMessage message = consumer.receive(); // don't ack the message on purpose System.out.println("Received message: "+ message.getBodyBuffer().readString()); } -- Create a STOMP client that listens to subscribes to messages on address "jms.topic.testaddress" that doesn't acknowledge the messages by sending the following SUBSCRIBE message: String SUBSCRIBE_FRAME = "SUBSCRIBE\n"+ "id:0001\n"+ "destination:jms.topic.testaddress\n"+ "ack:client-individual\n"+ "\n"+ "\u0000"; // loop continuously to receive messages without sending the ACK message back to the broker. > Messages sent to a jms topic address are not expiring in temporary queue > created via core API > --------------------------------------------------------------------------------------------- > > Key: ARTEMIS-745 > URL: https://issues.apache.org/jira/browse/ARTEMIS-745 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: Broker > Affects Versions: 1.1.0 > Environment: Redhat Linux 6.2 > Reporter: Ruben Cala > Assignee: Justin Bertram > > I am publishing messages to a topic address (jms.topic.<address>). I set the > message expiration to be 2 seconds (publishing via core api). I have two > consumers, one using core api, one using generic stomp protocol. The core > api creates a temporary queue to receive the messages from the address. The > stomp consumer relies on the auto-generated temporary queue mechanism > provided by the broker. To investigate slow consumer scenarios, both > consumers are not acknowledging the messages. > In JConsole for the stomp consumer, its queue MessagesAcknowledged attribute > count rises, while the MessageCount stays constant with the MessagesAdded > count (low number around 5 usually). > For the core api consumer, however, its queue MessagesAcknowledged attribute > count stays at 0, while its MessageCount attribute increases with the > MessagesAdded number. This eventually causes the broker to run out of memory. -- This message was sent by Atlassian JIRA (v6.3.4#6332)