>> Some brokers like IBM MQ allows defining a dead letter channel per Queue Manager. Some allow define one for the whole broker and some MQs allow to keep a dead letter channel per a queue.
>>IBM MQ when putting a message to a dead letter queue it injects a jms header why it is in dead letter queue (there are some predefined error codes). Looking at that error code client can know why it was in dead letter queue. >>Some brokers like qpid (it is supposed to have one [1]) handle this in a simple way. There is a preconfigured number of times message is re-tried to deliver. After that number is consumed (this is enforced at Session#rollback() (or Session#recover() if the session is not transacted)) message is sent to dead letter queue. >> IBM MQ allows a separate listener to listen for messages in Dead Letter queue. You can define policies for them. >> Qpid is supposed to have a way of handling messages in DLQ in following way. There is a DLQ (pre-defined). The DLQ feature causes generation of a Dead Letter Exchange and a Dead Letter Queue. Rather than consuming messages from DLQ via management console it displays the messages in DLQ and user can manually transfer messages from DLQ to respective queues resetting delivery count back to zero. IMO, simply we can implement the latter with carbon UI involved. We will need to handle authentication, authorization (permissions) and tenancy related aspects. Thanks. [1]. http://qpid.apache.org/components/java-broker/book/Java-Broker-Runtime-Handling-Undeliverable-Messages.html -- *Hasitha Abeykoon* Software Engineer; WSO2, Inc.; http://wso2.com *cell:* *+94 719363063* *blog: **abeykoon.blogspot.com* <http://abeykoon.blogspot.com>
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
