[ 
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)

Reply via email to