views:

32

answers:

1

I create my consumer (in C# using the NMS library) as so:

        ConnectionFactory factory = new ConnectionFactory(_mqServer);
        _con = factory.CreateConnection();
        _con.Start();
        _session = _con.CreateSession(AcknowledgementMode.Transactional);
        _queue = _session.GetQueue(_mqQueue);
        _consumer = _session.CreateConsumer(_queue, "someproperty = 'someValue'");

When I receive a message and don't call Commit on the session, it goes back into the original queue. It then attempts redelivery 5 more times before being discarded. Why is the message being discarded instead of being sent to a DLQ?!

A: 

If it really is being discarded, it might actually be a bug. I have not tried to reproduce but during debug of an aplpication, i actually had a similar issue (forgot to commit transaction) and the messages did go to the DLQ. after retrying a couple of times.. so if you are sure they just get discarded, it might be a bug.

Noctris
100% sure of them being disregarded. Also 100% sure I'm not committing. It doesn't happen all of the time though, and I can repro.
TheSoftwareJedi