Generating a JMS export binding with either a one-way operation or request-response operation is shown. Once generated, the binding properties are discussed.
If you intend to use the standard JMS message class with a body type containing the message then you must create business objects for these body types. A function is provided that will create the entire set of business objects for the JMS body types. In your module, open the dependencies editor. Under Predefined Resources, select Schema for simple JMS Data Bindings. Save your work and close the dependencies editor. In the navigation view under Data Types, the business objects are created.
Afterwards, create an interface for your export that contains the appropriate data types for input and output. For example, if you were using the TextMessage body, create an interface with an operation such as handleText with an input type of JMSTextBody and an output type of JMSTextBody. These data types will be selectable from the types in the interface editor.
An interface with a request-response operation produces a similar dialog as shown below with an additional field for a send destination.
Select the messaging domain: Point-to-Point or Publish-Subscribe. Publish-subscribe is selectable if the interface only has one-way operations.
Select if you wish to Configure new messaging provider resources (the default) or Use pre-configured messaging provider resources. If you choose pre-configured, then add the JNDI names for the activation specification and the receive destination for a one-way operation, and receive and send destinations for a request-response operation.
In the Security configuration section, enter the J2EE Connector (J2C) authentication data entries, if used by your organization.
In the Data format section, select how the data will be serialized between the business object and the JMS message. For data bindings beginning Simple JMS, you must have previously created the business objects required (see the Prerequisites section). The default data bindings are:
The alternative is for you to provide your own data binding for the serialization, in which case select User Supplied. The implementation has to conform to the JMS data binding interface.
The FunctionSelector class provides a valuable service at run time. It selects an operation to invoke on the component. In the Function selector section, if you do not wish to use the default JMS function selector class, deselect it. After deselecting the default JMS FunctionSelector, you should browse and select the FunctionSelector you do wish to use.
If you intend to use the standard JMS message class with a body type containing the message then you must use a specific function selector, which uses the JMSType message property to determine its operation name. For example, if you had selected for your serialization type, Simple JMS TextMessage Data Binding, then you would use this particular function selector. Deselect the Use the default JMS Function Selector class check box. Click Browse and select JMSFunctionSelector from the Select Type dialog box. The qualified class name is com.ibm.websphere.jms.data.bindings.JMSFunctionSelector.
Click OK. The basic JMS binding is created and shown in the properties view when the Binding tab is selected.
The following sections describe the major binding properties. After generating a JMS binding with the wizard, you can use hover help to get descriptions of all the properties. These properties are also fully described in the administration reference of the WebSphere Process Server.
Selecting the Send Destination Properties section, specifies the type of destination and its properties. If you specify a JNDI name, this information is not available as it is configured on the server; that is, the destination specified on the server under this JNDI name will be used. Note: If you specify nothing in the queue name or topic space field, a default value will be created. If you specify a queue name or a topic space, this value will remain even if you then clear the field. The only way to change the value is to specify a different value.
In the Callback Destination Properties section, the callback destination type may be specified or a JNDI name where the same information is specified.
Expanding Admin Connection Properties provides connection pool properties and configuration properties if you would like custom names and values. If you had specified an JNDI name earlier, it is empty since the server is determining connection pooling values and only an information name is present.
Selecting Response Connection and expanding the Authentication Properties section opens the authentication properties for the response connection. The J2C Authentication Data Entry property is available if you want to specify a name. If Show Advanced is selected, authentication properties are opened such as the level of the authentication; for example, at the container level.
You can customize JMS bindings in the runtime environment. This customization translates your own custom object streams to data objects. See JMS data binding samples for WebSphere Process Server V 6.0.2 for an example of this customization.