Return-Path: Delivered-To: apmail-activemq-dev-archive@www.apache.org Received: (qmail 97196 invoked from network); 13 Aug 2008 23:48:44 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 13 Aug 2008 23:48:44 -0000 Received: (qmail 37884 invoked by uid 500); 13 Aug 2008 23:48:43 -0000 Delivered-To: apmail-activemq-dev-archive@activemq.apache.org Received: (qmail 37860 invoked by uid 500); 13 Aug 2008 23:48:43 -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 37849 invoked by uid 99); 13 Aug 2008 23:48:43 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 13 Aug 2008 16:48:43 -0700 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 13 Aug 2008 23:47:54 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id DDFD0234C1AB for ; Wed, 13 Aug 2008 16:47:52 -0700 (PDT) Message-ID: <2016518926.1218671272907.JavaMail.jira@brutus> Date: Wed, 13 Aug 2008 16:47:52 -0700 (PDT) From: "Jim Gomes (JIRA)" To: dev@activemq.apache.org Subject: [jira] Updated: (AMQNET-105) Enhance NMSPersistent with alternative NMSDeliveryMode enum. In-Reply-To: <1259343273.1218670672694.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/activemq/browse/AMQNET-105?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jim Gomes updated AMQNET-105: ----------------------------- Description: The {{NMSPersistent}} field is too limited to support variations from different brokers. The minimum is that a message in either persistent or it isn't. However, TIBCO adds a third proprietary optimized delivery mode called ReliableDelivery. The {{NMSPersistent}} field should be deprecated in favor of a new {{NMSDeliveryMode}} enumeration as follows: {code:title=New Enum|borderStyle=solid} enum MsgDeliveryMode { Persistent, NonPersistent } // ... SNIPPIT ... interface IMessage { [deprecated] bool NMSPersistent { get; } MsgDeliveryMode NMSDeliveryMode { get; } } interface IMessageProducer { [deprecated] void Send(IMessage message, bool persistent, byte priority, TimeSpan timeToLive); void Send(IMessage message, MsgDeliveryMode deliveryMode, byte priority, TimeSpan timeToLive); [deprecated] void Send(IDestination destination, IMessage message, bool persistent, byte priority, TimeSpan timeToLive); void Send(IDestination destination, IMessage message, MsgDeliveryMode deliveryMode, byte priority, TimeSpan timeToLive); [deprecated] bool Persistent { get; set; } MsgDeliveryMode DeliveryMode { get; set; } } // ... END ... {code} This will make the code more self-documenting as well as supporting broker implementations of proprietary delivery modes. The NMSPersistent field should be marked as [deprecated] and then removed in the following version. This will allow users of the NMS library time to update their code, since this would be a breaking change and should be carefully approached as it has the potential to affect business logic requirements. was: The NMSPersistent field is too limited to support variations from different brokers. The minimum is that a message in either persistent or it isn't. However, TIBCO adds a third proprietary optimized delivery mode called ReliableDelivery. The NMSPersistent field should be deprecated in favor of a new NMSDeliveryMode enumeration as follows: enum MsgDeliveryMode { Persistent, NonPersistent } This will make the code more self-documenting as well as supporting broker implementations of proprietary delivery modes. The NMSPersistent field should be marked as [deprecated] and then removed in the following version. This will allow users of the NMS library time to update their code, since this would be a breaking change and should be carefully approached as it has the potential to affect business logic requirements. Expanded the sample snippet of code. > Enhance NMSPersistent with alternative NMSDeliveryMode enum. > ------------------------------------------------------------ > > Key: AMQNET-105 > URL: https://issues.apache.org/activemq/browse/AMQNET-105 > Project: ActiveMQ .Net > Issue Type: Improvement > Components: ActiveMQ Client, EMS, MSMQ, Stomp > Reporter: Jim Gomes > Assignee: Jim Gomes > Priority: Minor > Fix For: 1.1 > > Original Estimate: 1 day > Remaining Estimate: 1 day > > The {{NMSPersistent}} field is too limited to support variations from different brokers. The minimum is that a message in either persistent or it isn't. However, TIBCO adds a third proprietary optimized delivery mode called ReliableDelivery. The {{NMSPersistent}} field should be deprecated in favor of a new {{NMSDeliveryMode}} enumeration as follows: > {code:title=New Enum|borderStyle=solid} > enum MsgDeliveryMode > { > Persistent, > NonPersistent > } > // ... SNIPPIT ... > interface IMessage > { > [deprecated] > bool NMSPersistent { get; } > MsgDeliveryMode NMSDeliveryMode { get; } > } > interface IMessageProducer > { > [deprecated] > void Send(IMessage message, bool persistent, byte priority, TimeSpan timeToLive); > void Send(IMessage message, MsgDeliveryMode deliveryMode, byte priority, TimeSpan timeToLive); > [deprecated] > void Send(IDestination destination, IMessage message, bool persistent, byte priority, TimeSpan timeToLive); > void Send(IDestination destination, IMessage message, MsgDeliveryMode deliveryMode, byte priority, TimeSpan timeToLive); > [deprecated] > bool Persistent { get; set; } > MsgDeliveryMode DeliveryMode { get; set; } > } > // ... END ... > {code} > This will make the code more self-documenting as well as supporting broker implementations of proprietary delivery modes. > The NMSPersistent field should be marked as [deprecated] and then removed in the following version. This will allow users of the NMS library time to update their code, since this would be a breaking change and should be carefully approached as it has the potential to affect business logic requirements. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.