From users-return-15865-apmail-activemq-users-archive=activemq.apache.org@activemq.apache.org Mon Sep 08 12:58:54 2008 Return-Path: Delivered-To: apmail-activemq-users-archive@www.apache.org Received: (qmail 51252 invoked from network); 8 Sep 2008 12:58:54 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 8 Sep 2008 12:58:54 -0000 Received: (qmail 12823 invoked by uid 500); 8 Sep 2008 12:58:50 -0000 Delivered-To: apmail-activemq-users-archive@activemq.apache.org Received: (qmail 12801 invoked by uid 500); 8 Sep 2008 12:58:50 -0000 Mailing-List: contact users-help@activemq.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: users@activemq.apache.org Delivered-To: mailing list users@activemq.apache.org Received: (qmail 12790 invoked by uid 99); 8 Sep 2008 12:58:50 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 08 Sep 2008 05:58:50 -0700 X-ASF-Spam-Status: No, hits=3.7 required=10.0 tests=DNS_FROM_OPENWHOIS,FORGED_HOTMAIL_RCVD2,SPF_HELO_PASS,SPF_PASS,WHOIS_MYPRIVREG X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of lists@nabble.com designates 216.139.236.158 as permitted sender) Received: from [216.139.236.158] (HELO kuber.nabble.com) (216.139.236.158) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 08 Sep 2008 12:57:49 +0000 Received: from isper.nabble.com ([192.168.236.156]) by kuber.nabble.com with esmtp (Exim 4.63) (envelope-from ) id 1KcgJw-000896-BD for users@activemq.apache.org; Mon, 08 Sep 2008 05:58:20 -0700 Message-ID: <19371467.post@talk.nabble.com> Date: Mon, 8 Sep 2008 05:58:20 -0700 (PDT) From: Demian Mrakovich To: users@activemq.apache.org Subject: Re: Question: Object properties on DLQ (adding exception to message for DLQ) In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Nabble-From: nedenom@hotmail.com References: <19369459.post@talk.nabble.com> X-Virus-Checked: Checked by ClamAV on apache.org Thanks for reply! Not sure what you mean by create a new message. Rollback/retries are handled by transactions. Creating a new message from the client can't be right...? Can you please explain further? My messages are ObjectMessages. My second attempt was to set a exception string on the payload object. But changing any values on the payload object doesn't have any effect either, the payload is back with the original values on retries and DLQ, and the payload is read-only so I can't set a new one. Trying something like this doesn't work, received on DLQ listener payload.getLastError() returns the original string "No error". class MyPayload { String lastError = "No error"; } public void onMessage(Message msg) { ObjectMessage objMessage = (ObjectMessage) message; MyPayload payLoad = objMessage.getObject(); try { doBusiness(); } catch (Exception ex) { payLoad.setLastError(ex.toString); // Will be rolled back by trans and retried, eventually to DLQ } } James.Strachan wrote: > > You typically don't edit messages; just create a new message and set > whatever contents you want. FWIW in the JMS specifications, properties > are meant to be primitive types, not complex objects - so using an > ObjectMessage and setting the payload is typically more JMS compliant > > 2008/9/8 Demian Mrakovich : >> >> On ActiveMQ 4.1.1 >> >> I'm trying to add an exception to a failed message so that I can get the >> exception that caused it when it is received on my DLQ listener. >> >> I cannot add a string property since the message is read-only when it is >> received by the client. So I tried having the _producer_ create a List >> instance on the message with setObjectProperty so that the client can >> fill >> it with an exception or a string message. >> >> The problem is, while I _can_ get the previous exception message in >> onMessage when it is retried, this List object is null when the message >> is >> received by my DLQ listener. >> >> So my question is: are the message properties copied into a new message >> for >> sending to DLQ and is ActiveMQ "forgetting" to copy the object properties >> on >> it? It doesn't seem to be the same object since the List is now null. >> >> And, has anyone implemented any other solution to getting the exception >> message on the DLQ? >> >> Hope someone can help. >> >> >> -- >> View this message in context: >> http://www.nabble.com/Question%3A-Object-properties-on-DLQ-%28adding-exception-to-message-for-DLQ%29-tp19369459p19369459.html >> Sent from the ActiveMQ - User mailing list archive at Nabble.com. >> >> > > > > -- > James > ------- > http://macstrac.blogspot.com/ > > Open Source Integration > http://open.iona.com > > -- View this message in context: http://www.nabble.com/Question%3A-Object-properties-on-DLQ-%28adding-exception-to-message-for-DLQ%29-tp19369459p19371467.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.