This topic describes how to use the JavaCompute node.
This topic contains the following sections:
Use the JavaCompute node to achieve the following tasks:
The Java code that is used by the node is stored in an Eclipse Java project.
The JavaCompute node is contained in the Transformation drawer of the palette, and is represented in the workbench by the following icon:
The JavaCompute node can be used in three ways:
When you have put an instance of the JavaCompute node into a message flow, you can configure it; see Configuring a message flow node. Double-click the JavaCompute node to open the New JavaCompute Node Class wizard. The wizard guides you through the creation of a new Java project and a Java class that contains some skeleton code. This skeleton code is displayed in a Java editor. For more information about creating Java code for a JavaCompute node and for examples of the skeleton code or template that are provided, see Creating Java code for a JavaCompute node. If it is not the first time that you have double-clicked the node, the Java code is displayed in a Java compute perspective.
To associate an instance of a JavaCompute node with a Java class, configure the node's properties. The properties of the node are displayed in the Properties view.
Code Java statements to customize the behavior of the JavaCompute node. For example, you can customize the node to create a new output message or messages, using input message or database content (unchanged or modified), or new data. For example, you might want to modify a value in the input message by adding a value from a database, and store the result in a field in the output message.
Code the Java statements that you want in a Java file that is associated with the JavaCompute node.
If a Java file does not already exist for this node, right-click the JavaCompute node and click Open Java to create and open a new Java file in the Editor view. If the file exists already, click Browse beside the Java Class property to display the JavaCompute Node Type Selection dialog box, which lists the Java classes that can be accessed by this message flow. Select the appropriate Java class and click OK. The list of matching types show suitable Java classes when at least one character is entered in the Select field. All Java classes are shown if you enter '*' in the Select field.
Set the validation properties to define how the message that is produced by the JavaCompute node is validated. These properties do not cause the input message to be validated. It is expected that, if such validation is required, the validation has already been performed by the input node or a preceding validation node.
For more details about validating messages and validation properties, see Validating messages and Validation properties.
The JavaCompute node terminals are described in the following table.
Terminal | Description |
---|---|
In | The input terminal that accepts a message for processing by the node. |
Failure | The output terminal to which the input message is routed if a failure is detected during the computation. (Even if the Validate property is set, messages propagated to the Failure terminal of the node are not validated.) |
Out | The output terminal to which the transformed message is routed. |
Alternate | An alternative output terminal to which the transformed message can be routed, instead of to the Out terminal. |
The following tables describe the node properties. The column headed M indicates whether the property is mandatory (marked with an asterisk if you must enter a value when no default is defined); the column headed C indicates whether the property is configurable (you can change the value when you add the message flow to the bar file to deploy it).
The Description properties of the JavaCompute node are described in the following table.
Property | M | C | Default | Description |
---|---|---|---|---|
Node name | No | No | The node type | The name of the node. |
Short Description | No | No | A brief description of the node. | |
Long Description | No | No | Text that describes the purpose of the node in the message flow. |
The JavaCompute node has the Basic property that is described in the following table.
Property | M | C | Default | Description |
---|---|---|---|---|
Java Class | Yes | No | None | The name of the Java class that is used in this node. This name must appear in the list of Java classes that are available to be used. |
The Parser Options properties for the JavaCompute node are described in the following table.
Property | M | C | Default | Description |
---|---|---|---|---|
Parse Timing | Yes | No | On Demand | This property controls when an input message is parsed.
Valid values are On Demand, Immediate, and Complete. For a full description of this property, see Parsing on demand. |
Use XMLNSC Compact Parser for XMLNS Domain | No | No | Cleared | Setting this property causes the outgoing MQRFH2 to specify the XMLNS instead of XMLNSC parser, allowing an external application to remain unchanged. If outgoing messages do not contain MQRFH2 headers, this property has no effect. |
Retain mixed content | No | No | Cleared | This property controls whether the XMLNSC parser creates elements in the message tree when it encounters mixed text in an input message. If you select the check box, elements are created for mixed text. If you clear the check box, mixed text is ignored and no elements are created. |
Retain comments | No | No | Cleared | This property controls whether the XMLNSC parser creates elements in the message tree when it encounters comments in an input message. If you select the check box, elements are created for comments. If you clear the check box, comments are ignored and no elements are created. |
Retain processing instructions | No | No | Cleared | This property controls whether the XMLNSC parser creates elements in the message tree when it encounters processing instructions in an input message. If you select the check box, elements are created for processing instructions. If you clear the check box, processing instructions are ignored and no elements are created. |
The Validation properties of the JavaCompute node are described in the following table.
Property | M | C | Default | Description |
---|---|---|---|---|
Validate | Yes | Yes | None | This property controls whether validation takes place, and what part of the message is validated. Valid values are None, Content and Value, Content, and Inherit. |
Failure Action | Yes | No | Exception | This property controls what happens if a validation failure occurs. You can set this property only if Validate is set to Content or Content and Value. Valid values are User Trace, Local Error Log, Exception, and Exception List. |
Include All Value Constraints | Yes | No | Selected | You cannot edit this property. If the check box is selected (the default), all value constraints are included in the validation. |
Fix | Yes | No | None | You cannot edit this property. Minimal fixing is provided. Valid values are None, and Full. |