Ali Reza.T created AMQ-3911:
-------------------------------

             Summary: Messages are not acknowelge and inflight count goes up 
till max memory is reached for topic
                 Key: AMQ-3911
                 URL: https://issues.apache.org/jira/browse/AMQ-3911
             Project: ActiveMQ
          Issue Type: Bug
          Components: Broker, JMS client
    Affects Versions: 5.4.2
         Environment: OS: Solaris 10
Java Version: 1.6
            Reporter: Ali Reza.T
            Priority: Blocker


We have 1 topic, 100 producer and  1 consumer. We use non-transacted sessions, 
NON_PERSISTENT messages and CLIENT_ACKNOWLEDGE mode. The problem is that after 
a while (1 day or more) some messages are not acknowledged and inflight count 
goes up till maximum memory of the topic is reach. Consumer code is something 
like this:

Session session = connection.createSession(false, Session.CLIENT_ACKNOWLEDGE);
                MessageConsumer consumer = 
session.createConsumer(JMSProviderUtil.getTopic(AGENT_STATUS_TOPIC));
                consumer.setMessageListener(new MessageListener() {

                        public void onMessage(Message message) {
                                try {
                                        if (message instanceof TextMessage && 
message.getJMSRedelivered() == false) {
                                                TextMessage textMessage = 
(TextMessage) message;
                                                String host = 
textMessage.getText();
                                                String switchId = 
host2idMap.get(host);
                                                if (switchId != null) {
                                                        
id2lastHeartbeatMap.put(switchId, System.currentTimeMillis());
                                                }
                                        }
                                } catch (JMSException e) {
                                        
GeneralLogger.LOGGER.logError(e.getMessage(), e);
                                } finally {
                                        try {
                                                message.acknowledge();
                                        } catch (JMSException e) {
                                                
GeneralLogger.LOGGER.logError(e.getMessage(), e);
                                        }
                                }
                        }
                });

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to