activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jim Gomes (JIRA)" <jira+amq...@apache.org>
Subject [jira] Resolved: (AMQNET-105) Enhance NMSPersistent with alternative NMSDeliveryMode enum.
Date Fri, 22 May 2009 22:45:51 GMT

     [ https://issues.apache.org/activemq/browse/AMQNET-105?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Jim Gomes resolved AMQNET-105.
------------------------------

    Resolution: Fixed

This is a breaking API change.  It will be necessary to update existing code.  I know this
is painful, but better to do it now before we ship.

> 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.


Mime
View raw message