Universal Messaging 10.11 | Concepts | AMQP | Overview of AMQP | AMQP Message Transformation
 
AMQP Message Transformation
The Universal Messaging server can be configured to perform transformations on any messages received and sent over the AMQP protocol. The transformations are controlled from the TransformToUse setting of the AMQP plugin configuration. The following settings are available:
Setting
Description
0 - No transformation
When this option is selected, no transformation is applied to the message, and it is passed as a byte array between the clients in the communication. This option is best used when only AMQP clients exchange messages.
1 - Basic Transformation
With this option selected when a message is exchanged over the AMQP protocol, the following header entries are converted:
1. priority
2. delivery count / redelivery count
3. durable / delivery mode
This option is again best used when only AMQP clients exchange messages, but it also allows for server side filtering, based on the event's header and properties.
2 - Complete Transformation
With this option selected when a message is exchanged over the AMQP protocol, the following header entries are converted:
1. priority
2. delivery count / redelivery count
3. durable / delivery mode
4. Time To Live (TTL)
5. First Acquirer / JMS_AMQP_FirstAcquirer
The footer of the AMQP message is converted to an event dictionary object and put under the "footer" key in the UM event dictionary and vice versa. If a UM event sent to an AMQP client has a "footer" dictionary object in the event dictionary, the content of that dictionary will be put as application properties of the AMQP message.
The delivery annotation, message annotations, application properties, and other standard properties of the AMQP message are also converted. For more information about mapping AMQP messages to Universal Messaging messages, see Appendix B: AMQP Messages to Universal Messaging Message Mappings.
Important:
If you are transporting JMS messages over AMQP, you should use this transform. It ensures that the JMS headers will be properly converted.
3 - User Configurable
This option allows you to provide your own message converters. In order to use this option, do the following:
1. Place the MyTransformer.jar file into the Universal Messaging_directory /plugins/ext directory. Create the /ext directory if it does not exist.
2. In the Server_Common.conf configuration file, specify the following option:
wrapper.java.additional.26=-DAMQP_TRANSFORM=
foo.bar.MyTransformer
Alternatively, provide a full class name as an AMQP_TRANSFORM JVM parameter to the server, for example:
-DAMQP_TRANSFORM=foo.bar.MyTransformer
Extend the abstract class by:
com.pcbsys.nirvana.server.plugins.protocols
.amqp.transformation.aTransformation
If AMQP_TRANSFORM is not specified, this option will default to a null transform.