[ 
https://issues.apache.org/jira/browse/AMQNET-470?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13899723#comment-13899723
 ] 

Timothy Bish commented on AMQNET-470:
-------------------------------------

I don't think this would be a good solution for the project.

1. It only applied to Apache.NMS.ActiveMQ while it seems reasonable to make 
this sort of thing available to all.
2. It implements only events indicating that the bytes have been written to the 
wire, not that the broker has received it and ack'd it as such.  
3.  It would most likely break when applied at the FailoverTransport layer. 

We can place this as an improvement task for a future 1.7.x release if and get 
around to it when there's time given that you don't want to try and tackle it 
yourself.  

> Allow Setting Callback after sending command asynchronously via Transport.
> --------------------------------------------------------------------------
>
>                 Key: AMQNET-470
>                 URL: https://issues.apache.org/jira/browse/AMQNET-470
>             Project: ActiveMQ .Net
>          Issue Type: New Feature
>          Components: NMS
>            Reporter: Shani Elharrar
>            Assignee: Jim Gomes
>            Priority: Minor
>              Labels: easyfix, features, newbie
>             Fix For: 1.7.0
>
>   Original Estimate: 2h
>  Remaining Estimate: 2h
>
> Hi.
> I have a "system" that processes a lot of messages (~3000 per second) 
> asynchronously. I'm trying to move to ActiveMQ as the primary message broker. 
> My configuration is that I consume messages from ActiveMQ queue (Using 
> individual Acks), I do some processing, And then send them to another queue 
> (In the ActiveMQ). Transactions aren't so Important to me since I can handle 
> message duplicates in case of crash. But I do want to Ack the messages only 
> after I send them to the ActiveMQ. 
> So I want to have a Callback after sending the message Asynchronously to 
> ActiveMQ.
> I managed to edit NMS code to support this, What i've done is :
> * Added "Callbackable" interface with one property (setter & getter) which is 
> a delegate equivalent to Action (void, empty arguments).
> * Modified Command and IActiveMQMessage to "extend" that interface
> * Modified CommandBase to implement the interface (Trivial setter/getter)
> * Modified TCPTransport.Oneway method to check if the callback isn't null and 
> if not - invoke it (After it marshals the message).
> And it worked flawlessly.
> First of all, I need you to vote in/against the feature, And if it's accepted 
> - I'm willing to create a patch for this.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to