Add support for a Message Transformer to be set in NMS API
----------------------------------------------------------

                 Key: AMQNET-271
                 URL: https://issues.apache.org/activemq/browse/AMQNET-271
             Project: ActiveMQ .Net
          Issue Type: Improvement
    Affects Versions: 1.3.0
            Reporter: Timothy Bish
            Assignee: Jim Gomes
            Priority: Minor
             Fix For: 1.4.0


Add support in the NMS API for users to set an custom MessageTransformer on the 
NMS object: 

IConnectionFactory
IConnection
ISession
IMessageProducer
IMessageConsumer

The transformer would be an instance of IMessageTransformer which provides two 
methods:

{noformat}
    /// <summary>
    /// Interface for a class that can Transform a Message from one type to 
another either
    /// before consumption or before sent by a producer.
    /// </summary>
    public interface IMessageTransformer
    {
        /// <summary>
        /// Called from an IMessageProducer prior to sending the IMessage, 
allows the client
        /// to perform a transformation on the Message prior to it being sent.  
This allows a
        /// client to configure a single Producer to convert a Message to a 
format that can be
        /// processed by a specific receiving client.
        /// </summary>
        IMessage ProducerTransform(ISession session, IMessageProducer producer, 
IMessage message);

        /// <summary>
        /// Called from an IMessageConsumer prior to dispatching the message to 
the client either
        /// by the 'Receive' methods or from the async listener event.  Allows 
the client to perform
        /// message pre-processing before some messages are dispatched into the 
client code.
        /// </summary>
        IMessage ConsumerTransform(ISession session, IMessageConsumer producer, 
IMessage message);
    }
{noformat}




-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to