A key feature of messages is the ability to set message parameters.
There are two types of parameters:
Predefined Parameters: A set of parameters for which the RTMFMessage class provides getters and setters. Some predefined parameters are automatically set in some cases.
Customer Parameters: A parameter that you can create for the RTMFMessage object.
A message contains the following predefined parameters:
Action
Event
The event parameter is automatically set when the publishEvent() method is called. The value is the name of the event that was triggered.
From
Destination
The destination parameter is automatically set when a message is sent to an RTMF service, for example, by calling publishToTopic() or sendToQueue(). The value is the name of the service.
The RTMFMessage class defines setters and getters for these parameters. You cannot retrieve the values of predefined parameters by calling getParamValue().
An RTMF service that registers to receive messages sent to another service can use only predefined parameters to create a filter. For more information, see Registering for Messages Sent to Another Service.
You can add custom parameters to the message, as follows:
Syntax
RTMFMessage message = RTMFMessageFactory.getMessage(RTMFMessageType.RTMFMessageType);
message.putParam("param","value");
You can retrieve parameters as follows:
Syntax
String myParam = message.getParamValue("param");
In addition to a String, you can define a List of values, and add this as a single parameter, as follows:
Syntax
RTMFMessage message = RTMFMessageFactory.getMessage(RTMFMessageType.RTMFMessageType);
List myValueList = new Vector();
myValueList.add("value1");
myValueList.add("value2");
message.putParam("paramWithValueList", myValueList);
The following retrieves a parameter that is a List:
Syntax
List myParamValues = message.getParamValues("paramWithValueList");
Note
If you retrieve a String parameter as a List, a List with a single string is returned.
If you retrieve a List as a String, the first string in the List is returned.