Return-Path: Delivered-To: apmail-activemq-users-archive@www.apache.org Received: (qmail 67028 invoked from network); 7 Mar 2008 23:05:36 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 7 Mar 2008 23:05:36 -0000 Received: (qmail 35937 invoked by uid 500); 7 Mar 2008 23:05:31 -0000 Delivered-To: apmail-activemq-users-archive@activemq.apache.org Received: (qmail 35913 invoked by uid 500); 7 Mar 2008 23:05:31 -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 35904 invoked by uid 99); 7 Mar 2008 23:05:31 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 07 Mar 2008 15:05:31 -0800 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of andrew@oc384.net designates 204.80.187.5 as permitted sender) Received: from [204.80.187.5] (HELO mail1.ykwc.com) (204.80.187.5) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 07 Mar 2008 23:04:42 +0000 Received: from box2 (adsl-70-225-233-30.dsl.chcgil.ameritech.net [70.225.233.30]) by mail1.ykwc.com (Postfix) with ESMTPA id 15B2FAB4A4 for ; Fri, 7 Mar 2008 15:04:55 -0800 (PST) From: "Andrew M" To: References: <03be01c87e33$1b098620$511c9260$@net> <046f01c87ed8$7313c3d0$593b4b70$@net> <04cd01c87f01$211fb4c0$635f1e40$@net> In-Reply-To: <04cd01c87f01$211fb4c0$635f1e40$@net> Subject: RE: Retroactive consumer not working... Date: Fri, 7 Mar 2008 17:04:56 -0600 Message-ID: <016701c880a7$aa061c00$fe125400$@net> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Mailer: Microsoft Office Outlook 12.0 Thread-Index: Ach+iKueya305kDmQiWj30cSvZEDQwAThxwAAAB3pOAAc7RvgA== Content-Language: en-us X-YKWC-MailScanner-Information: Please contact Yellowknife for more information X-MailScanner-ID: 15B2FAB4A4.0972A X-YKWC-MailScanner: Found to be clean X-YKWC-MailScanner-SpamCheck: not spam, SpamAssassin (not cached, score=-4.399, required 5, autolearn=not spam, ALL_TRUSTED -1.80, BAYES_00 -2.60) X-Virus-Checked: Checked by ClamAV on apache.org X-Old-Spam-Status: No Does anyone have an example of working retroactive consumer code? Thanks, Andrew -----Original Message----- From: Andrew [mailto:andrew@oc384.net] Sent: Wednesday, March 05, 2008 2:40 PM To: users@activemq.apache.org Subject: Retroactive consumer not working... My broker is not feeding my consumer the messages from the retroactive queue when the consumer connects. The producer puts in a 10 min (600000ms) TTL so I would think when my consumer reconnects it should receive the last 10 mins of msgs. Otherwise things appear fine, new msgs are received, etc... any ideas? On the producer....... private Session getActiveMqSession() throws JMSException { String url = "failover:(tcp://" + ACTIVE_MQ_SERVER + ":" + ACTIVE_MQ_PORT + "?wireFormat.maxInactivityDuration=0)?maxReconnectAttempts=0"; ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(url); connection = connectionFactory.createConnection(); ((ActiveMQConnection)connection).setUseAsyncSend(false); connection.start(); return connection.createSession(false, Session.SESSION_TRANSACTED); } Session session = getActiveMqSession(); void send(Object a) throws blah blah blah { Destination destination = session.createQueue(consumerName); producer = session.createProducer(destination); ObjectMessage m = session.createObjectMessage(); m.setObject(a); //10 min TTL ((ActiveMQMessageProducer)producer).send(m, DeliveryMode.PERSISTENT, Message.DEFAULT_PRIORITY, 600000L); } ...and on the Consumer... Session session; public void run() { String url = "failover:(tcp://tupolev:61616?wireFormat.maxInactivityDuration=0)?maxReconn ectAttempts=0"; ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(url); Connection connection = connectionFactory.createConnection(); connection.start(); connection.setExceptionListener(this); session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); } public void subscribe(String destName, MessageListener l) throws JMSException { destName = destName + "?consumer.retroactive=true"; MessageConsumer mc = session.createConsumer(session.createQueue(destName)); mc.setMessageListener(l); } -----Original Message----- From: Andrew [mailto:andrew@oc384.net] Sent: Wednesday, March 05, 2008 9:49 AM To: users@activemq.apache.org Subject: RE: purging an ActiveMQ queue Thanks I'll create it as retroactive. Problem is, how can I tell the broker to purge the msgs at midnight so I get only msgs from the current day? Would I just schedule a messageConsumer.close() ? Thanks, Andrew -----Original Message----- From: James Strachan [mailto:james.strachan@gmail.com] Sent: Wednesday, March 05, 2008 12:17 AM To: users@activemq.apache.org Subject: Re: purging an ActiveMQ queue On 04/03/2008, Andrew wrote: > I would like to set up a topic or queue so that when a client connects to > the broker and subscribes to that topic he receives a refresh of all the > messages sent so far on that topic that day. At midnight the broker should > purge the day's messages. What's the best way to do that? For queues, messages stay on a queue until they expire. For topics, normally you only get messages sent after you start subscribing (unless you use persistent topic subscriptions) though ActiveMQ supports Subscription Recovery for this kinda stuff... http://activemq.apache.org/subscription-recovery-policy.html -- James ------- http://macstrac.blogspot.com/ Open Source Integration http://open.iona.com