Using the File Binding Component in a Project

Normalized Message Properties

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:

Normalized Message Properties Defined by the File Binding Component

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 

General Normalized Message Properties

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