Hi Matt, I am having the same issues as you did. My MessageListener receives messages but ActiveMQ doesn't dequeue them. I use two different session for consuming and producing messages but I still have these problems. What exactly did you put into your new thread? Do you mean by singelton instance your manager class?
Thanks, Franziska Matt Lachman wrote > > Thanks. I am storing only the payload (it was an ObjectMessage). > > I was able to resolve the issue by spawning a new thread to create my > singleton instance. I read the following from > http://docs.oracle.com/javaee/5/api/javax/jms/Session: > > Once a connection has been started, any session with one or more > registered > message listeners is dedicated to the thread of control that delivers > messages to it. It is erroneous for client code to use this session or any > of its constituent objects from another thread of control. The only > exception to this rule is the use of the session or connection close > method. > > Which led me to try the approach above. Happily, messages are now > dequeuing > normally. :-) > > Matt > > On Fri, Feb 24, 2012 at 5:55 AM, Jakub Korab <jakub.korab@> wrote: > >> Hi Matt, >> >> Yes message groups would do the job, as they guarantee that only one >> consumer is responsible for consuming that group. From the docs, they >> provide "guarranteed ordering of the processing of related messages >> across >> a >> single queue". >> >> I can't speak about your consumer code, but storing the entire JMS >> message >> in a cache seems like something that should be avoided. You should >> probably >> just be dealing with the message payload. >> >> Jakub >> >> >> Matt Lachman wrote >> > >> > Hi Jakub, >> > >> > Yes, from the queue on the broker. As far as the broker is concerned, >> it >> > remains "in-flight" permanently. What's weirder is when I run a >> standalone >> > java client to consume the messages, it has no trouble whatsoever. So I >> > think there's something going on in the client side that's causing >> > messages >> > not to be acknowledged. >> > >> > I have a manager class that is responsible for consuming & publishing >> to >> > the topic. The same manager class is responsible for consuming messages >> > from the queue. I have two nested listener classes which are >> instantiated >> > as member variables of the manager class in the constructor. >> > >> > I don't necessarily care about sequence; more that there is only ever >> one >> > message for a given id being processed at any given moment. Would >> message >> > groups still apply? >> > >> > Thanks, >> > Matt >> > >> > On Thu, Feb 23, 2012 at 9:41 AM, Jakub Korab <jakub.korab@> >> wrote: >> > >> >> Hi Matt, >> >> >> >> When you say that the message is not being dequeued, do you mean from >> the >> >> queue on the broker? >> >> >> >> The overall scheme itself seems to be pretty complicated; where are >> the >> >> topic messages coming from? >> >> >> >> If you are trying to ensure that messages for a particular id are >> >> consumed >> >> in sequence then perhaps message groups >> >> (http://activemq.apache.org/message-groups.html) might fit the bill >> >> better >> >> and simplify your code. >> >> >> >> Jakub >> >> >> >> >> > >> >> >> -- >> View this message in context: >> http://activemq.2283324.n4.nabble.com/Queue-messages-not-dequeuing-tp4410892p4416812.html >> Sent from the ActiveMQ - User mailing list archive at Nabble.com. >> > -- View this message in context: http://activemq.2283324.n4.nabble.com/Queue-messages-not-dequeuing-tp4410892p4654237.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.