Return-Path: Delivered-To: apmail-incubator-general-archive@www.apache.org Received: (qmail 82042 invoked from network); 14 Aug 2006 07:17:46 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 14 Aug 2006 07:17:46 -0000 Received: (qmail 62986 invoked by uid 500); 14 Aug 2006 07:17:43 -0000 Delivered-To: apmail-incubator-general-archive@incubator.apache.org Received: (qmail 62806 invoked by uid 500); 14 Aug 2006 07:17:42 -0000 Mailing-List: contact general-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: general@incubator.apache.org Delivered-To: mailing list general@incubator.apache.org Received: (qmail 62795 invoked by uid 99); 14 Aug 2006 07:17:42 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 14 Aug 2006 00:17:42 -0700 X-ASF-Spam-Status: No, hits=0.5 required=10.0 tests=DNS_FROM_RFC_ABUSE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: domain of james.strachan@gmail.com designates 64.233.182.190 as permitted sender) Received: from [64.233.182.190] (HELO nf-out-0910.google.com) (64.233.182.190) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 14 Aug 2006 00:17:41 -0700 Received: by nf-out-0910.google.com with SMTP id a25so1660775nfc for ; Mon, 14 Aug 2006 00:17:20 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=ErpLZTtwPiI56fkIJkbVRd0Mgp2S0v4GyWrO21Q5szzjYGl656k9RkG6ElA4Gp5WeYzoNe+3ugNoKNjOiJ+32XATeoljO2LyzqZQXpfbIswie7ikqOPTAqE+cUMO5a9RDhYazqFE9RetGLFSNpZWcbSNhOz8mHG3+WOzBuI+6+o= Received: by 10.78.159.7 with SMTP id h7mr3119838hue; Mon, 14 Aug 2006 00:17:19 -0700 (PDT) Received: by 10.78.173.20 with HTTP; Mon, 14 Aug 2006 00:17:19 -0700 (PDT) Message-ID: Date: Mon, 14 Aug 2006 08:17:19 +0100 From: "James Strachan" To: general@incubator.apache.org Subject: Re: Dynamic message selectors and message scheduling In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N On 8/13/06, Noel J. Bergman wrote: > In the thread titled "RE: [Proposal] Blaze", James Strachan wrote: > > > Noel J. Bergman wrote: > > > Totally unrelated ... JMS has the ability to create a message filter, > but > > > one of the limitations is that the filter is applied when the receiver > is > > > created, rather than when a get operation is executed. This makes sense > for > > > the push receiver case, but is limiting for the pull receiver case. > Does > > > AMQP have anything to say about this aspect of messaging, or does it > stay > > > strictly in the messaging provider space, and away from the client API? > > > Could you explain a little more about your use case - it sounds > > interesting :). Do you only want to fetch a single message with a > > different filter per message, or just change the fliter from time to > > time. If its the latter then creating JMS consumers is pretty cheap & > > you can use any JMS to do that. Though the former, there's no 'give me > > a message using filter X' type operation. > > Sorry for the delayed response. Been busy on many fronts. > > My particular use case involves selecting the next message in the > destination whose scheduled time is less than or equal to now. If there > were a "now" operation available in the query language, I wouldn't have to > change the selector, but the expression would still have to be constantly > reevaluated. And in that case, I'd want both pull and push behavior to be > supported. That should be pretty simple to add to the selector syntax via a NOW() function (to avoid 'NOW' clashing with some property on the message). Though the filter would have to be constantly re-evaluted as typically the assumption is that a selector is true or false but doesn't change its value over time > One alternative is writing a broker to handle scheduling, which means > posting all messages intended to be rescheduled to the broker, which would > post them back when the schedule time occurs, thus handling scheduling in a > similar manner to how MQ handles subscriptions. Yeah - I think handling the scheduled publish of messages is probably a better idea as its more powerful and flexible - and pretty easy to do via a broker interceptor... http://incubator.apache.org/activemq/interceptors.html FWIW here's an open issue on ActiveMQ if you want to track its progress... http://issues.apache.org/activemq/browse/AMQ-451 -- James ------- http://radio.weblogs.com/0112098/ --------------------------------------------------------------------- To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org For additional commands, e-mail: general-help@incubator.apache.org