Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 26D00200BC7 for ; Fri, 11 Nov 2016 01:23:20 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 2556E160B10; Fri, 11 Nov 2016 00:23:20 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 6E266160B01 for ; Fri, 11 Nov 2016 01:23:19 +0100 (CET) Received: (qmail 11011 invoked by uid 500); 11 Nov 2016 00:23:18 -0000 Mailing-List: contact dev-help@activemq.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@activemq.apache.org Delivered-To: mailing list dev@activemq.apache.org Received: (qmail 10999 invoked by uid 99); 11 Nov 2016 00:23:18 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 11 Nov 2016 00:23:18 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id D78221A7B07 for ; Fri, 11 Nov 2016 00:23:17 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -0.321 X-Spam-Level: X-Spam-Status: No, score=-0.321 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RCVD_IN_SORBS_SPAM=0.5, SPF_PASS=-0.001] autolearn=disabled Authentication-Results: spamd2-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024) with ESMTP id 53JdCyfBeRF6 for ; Fri, 11 Nov 2016 00:23:16 +0000 (UTC) Received: from mail-it0-f49.google.com (mail-it0-f49.google.com [209.85.214.49]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTPS id 940B75FB1F for ; Fri, 11 Nov 2016 00:23:16 +0000 (UTC) Received: by mail-it0-f49.google.com with SMTP id e187so295171482itc.0 for ; Thu, 10 Nov 2016 16:23:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-transfer-encoding; bh=dvPWdfA+k/6syXP6FpB2qeyKDLOlSg9Y28cUwzEiGSk=; b=lm43mvepIPP1bvAK1V/TlZ7YDHw4sg9Ey+6hXlaqy1jFfHaU2H9fNoC6EP82WOHhCn 95Z+aRAFPGa7b5Sp0lKRb6R31d+zTLwFI4v7Aita04E9odaIVnp+hNSdKCLsBvevGqf+ 0umiWkS07kt3f+s+bVTsGWD7v0tOH1dEQx07FwL0rSj8PtnnjLUbw/5qO8N7Q7neDklg SLsYlBP636UDypBnqlexLpS7PbJ/fvumbXa/Wix8Pd3YR19UUlCGk7ABuaSv3D2WDLyA GU3pvB8RNY9WboQGkNEz4I38nKBn2Mc5j6inBcvxij4zpDmHchPjVkJSY9FU6GqNdvq0 /Sbg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=dvPWdfA+k/6syXP6FpB2qeyKDLOlSg9Y28cUwzEiGSk=; b=S6Ye0/GQs9i8XJqVMdINTEvthEQ02bOzR4krB4ziAOEn50rdUbgle095NBj34wwOsF w8hg9eC3bS0YcwCHurMX2AXzgzkQpG2/CcdTKMJ1y1qff4/VKhiNdlERUkwA78dHnjFA 8m4rrX4WN5ZsZDewrnhSs8zONtQ/2E+ceR5qmbyz01xT5oNyCqVPpRPhUTHzOMbOais4 f9RQj4xsQWXQa+TLoF5CKje1q/odaEpAIaWJAwpgcM7cSKaokITHzSPanYl1BwI/pocq cfwQsH0gwJiA024SdfXuSs9lPxzXIbwg8XzKeDRurlT2muNK5AP2Q3OPgmAFolWBaT7d jlRg== X-Gm-Message-State: ABUngvciPGQDEBG2l6L4BA4XCXmUEsnw24ZQMOJ94joKrCh1sjPfLS/iXfPyDmKL/yrikA== X-Received: by 10.202.252.213 with SMTP id a204mr183504oii.130.1478823795472; Thu, 10 Nov 2016 16:23:15 -0800 (PST) Received: from mattbookpro.local (rrcs-67-79-3-86.sw.biz.rr.com. [67.79.3.86]) by smtp.gmail.com with ESMTPSA id o133sm2068556oia.29.2016.11.10.16.23.14 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 10 Nov 2016 16:23:14 -0800 (PST) Subject: Re: [DISCUSS] Reservation Based Rest API for Artemis To: dev@activemq.apache.org References: From: Matt Pavlovich Message-ID: Date: Thu, 10 Nov 2016 18:23:14 -0600 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit archived-at: Fri, 11 Nov 2016 00:23:20 -0000 Sounds good, this sounds like an interesting use case. The one upside I see of being a subscription strategy is that you could theoretically add that behavior to all clients (that support some sort of ack) using any protocol vs having it be REST-only. On 11/10/16 4:09 PM, John D. Ament wrote: > What Martyn is describing is closer to what I'm thinking. It may even make > sense to refactor rest into a protocol as a part of this. > > I'll respond tonight with a few more details of what I was thinking. > Thanks for the input so far guys! > > John > > On Nov 10, 2016 16:20, "Martyn Taylor" wrote: > > The Artemis REST API is already an independent service that layers on top > of JMS. If we're adding this API to the REST module it'd be independent > > That said... this could be done as a protocol module (the protocol modules > are pluggable) when deployed it'd then be managed by the broker. Just like > AMQP or any other protocol. The benefit of doing it this way is that you'd > have more fine grained control via the internal CORE API. Also means you > can plug in to the security layer etc... it does mean starting from > scratch though... > > On 10 Nov 2016 21:01, "Matt Pavlovich" wrote: > >> How do you see the service layering on top of Artemis? A fully > independent service with a "seen message id" repository, or a subscription > recovery-style policy within the broker with a REST service on top? >> >> On 11/9/16 11:54 AM, John D. Ament wrote: >>> All, >>> >>> One thing I see come up quite often when looking at cloud based messaging >>> systems is the concept of a reservation (there's a couple of terms out >>> there, reservation seems to describe it best). The reservation acts like >>> this: >>> >>> - Client polls for messages and get some number of messages back. >>> - When a client polls again, those messages are not returned for some >>> duration since it read them. >>> - The messages are not auto-acknowledged. >>> - A second API is invoked indicating that the client has acknowledged > that >>> message, typically using some message id or reservation id. >>> - If after some duration, a message was not acknowledged, it becomes >>> eligible for reception again. >>> >>> I'd like to add this type of capability to the REST API for Artemis. > What >>> do others think? >>> >>> John >>>