Normalized Message properties are commonly used to specify metadata that is associated with message content. javax.jbi.security.subject and javax.jbi.message.protocol.type are two examples of standard normalized Message properties defined in the JBI Specification.
Normalized Message properties are used to provide additional capabilities in Open ESB, such as:
Getting and Setting transport context properties. For example, HTTP headers in the incoming HTTP request, or file names read by the File Binding Component
Getting and Setting protocol specific headers or context properties (SOAP headers)
Getting and Setting additional message metadata. For example. a unique message identifier, or an endpoint name associated with a message
Dynamic configurations. For example, to dynamically overwrite the statically configured destination file name at runtime
Some of the use cases mentioned above require protocol/binding specific properties, typically used by a particular binding component. Other properties are considered common or general purpose properties that all participating JBI components make use of, for example, the message ID property, which can be utilized to uniquely identify or track a given message in the integration.
The following table describes the Inbound NM properties defined by the File Binding Component.
Table 2 Inbound NM Properties
Property |
Description |
Type |
---|---|---|
org.glassfish.openesb.file.inbound.filedirectory |
File directory which is polled for the input file |
String |
org.glassfish.openesb.file.inbound.filename |
Input file being read/poll |
String |
org.glassfish.openesb.file.inbound.datatype |
Datatype of the file, can be text, binary, xml |
String |
org.glassfish.openesb.file.inbound.batchid |
A file may have multiple records, batchid represents the file |
String |
org.glassfish.openesb.file.inbound.recordnumber |
Given a batch id , the record number represents a particular record |
String |
org.glassfish.openesb.file.inbound.lastrecord |
Value can be either "true" or "false", this property is sent in case of last record |
String |
org.glassfish.openesb.file.inbound.endPointname |
Represents the service name and endpoint name |
String |
The following table describes the Outbound NM properties defined by the File Binding Component.
Table 3 Outbound NM Properties
Property |
Description |
Type |
---|---|---|
org.glassfish.openesb.file.outbound.filedirectory |
file directory containing the file to read from or write to |
String |
org.glassfish.openesb.file.outbound.filename |
The file to read from or write to |
String |
org.glassfish.openesb.file.outbound.datatype |
Datatype of the file; can be text, binary, xml |
String |
org.glassfish.openesb.file.outbound.diectoryrelativeto |
The file directory can be relative to user-home,current working dir, system default temp dir |
String |
org.glassfish.openesb.file.outbound.addeol |
The value can be true or false, should end-of-the-line character be appended to a record/message |
String |
org.glassfish.openesb.file.outbound.append |
The value can be true or false, signify multiple records per file |
String |
org.glassfish.openesb.file.outbound.appenddelimiter |
If multiple records are true, this represents the record delimiter |
String |
org.glassfish.openesb.file.outbound.overwriteexistingfile |
The value can be true or false, overwrite existing file if true |
String |
Normalized Message properties are either General, available to all participating JBI components, or protocol/binding specific, used by a particular binding component.
The following General NM properties are available to all binding components.
Table 4 General NM Properties
Property |
Description and Use |
Type |
---|---|---|
org.glassfish.openesb.messaging.groupid |
Uniquely identifies a message with the group to which a message belongs. For example, it applies the RM sequence group number for SOAP messages, or a time stamped file name (where the file record message comes from). This property is optional. |
java.lang.String |
org.glassfish.openesb.messaging.messageid |
Uniquely identifies a message. For batch processing this might be a record number (for example, a particular record in a file), or a GUID. This property is mandatory. |
java.lang.String |
org.glassfish.openesb.messaging.lastrecord |
The value is a string representation of boolean ("true" or "false"). This property can be used to signal the last record in a group, e.g. the last record in a RM sequence for SOAP messages, or the last record in a file when multiple record processing is turned on for File BC. This property is optional. |
java.lang.String |
org.glassfish.openesb.exchange.endpointname |
The value a string representation of the endpoint name set on the exchange. This represents the endpoint name of the "owner" of the message, and could be made available by JBI runtime. |
java.lang.String |