Shani Elharrar created AMQNET-470:
-------------------------------------

             Summary: 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


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