You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Mark Pollack (JIRA)" <ji...@apache.org> on 2008/08/14 02:47:52 UTC
[jira] Commented: (AMQNET-105) Enhance NMSPersistent with
alternative NMSDeliveryMode enum.
[ https://issues.apache.org/activemq/browse/AMQNET-105?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=44951#action_44951 ]
Mark Pollack commented on AMQNET-105:
-------------------------------------
If 1.0 isn't out yet, why should this deprecated method remain in 1.1? Why not schedule this fix for 1.0 with deprecation and then remove it for 1.1?
> 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.