See information about the latest product version
BAR builder behavior for subflows created as .msgflow files
Learn how a BAR file is created based on your message flow design, the subflows that you created as .msgflow files, and the build options that you choose. Notice the differences between WebSphere® Message Broker Version 8.0.0.0 and WebSphere Message Broker Version 8.0.0.1.
Packaging considerations for WebSphere Message Broker Version 8.0.0.0
- When you add a message flow to a BAR file, the BAR builder will automatically include any required subflows.
- Subflows that are created as .msgflow files are not displayed in the BAR file as separate items, and are added automatically. To include these subflows, you have to add only the parent message flow.
- Message flows are included in the BAR file as compiled objects,
that is, as .cmf files. Note: The BAR file creation option Compile and in-line resources is not available in WebSphere Message Broker Version 8.0.0.0, which means that a message flow is always added to a BAR file in its compiled form.
- For each message flow that you add to a BAR file, there will be one compiled message flow (CMF), which will include the message flow and any embedded subflows created as .msgflow files, and as many subflow source files as subflows are added to the message flow.
- When you add a subflow to a BAR file, the subflow is created in
a Message Broker project, and the message flow where the subflow is
being used is packaged in a different BAR file, the BAR builder behaviour
depends on the subflow type:
- If the subflow is created as a .msgflow file,
it adds the subflow as a compiled object. Note: The subflow is only available for selection if it has an Input node, such as the MQInput node. Subflows that have only generic input nodes cannot be deployed independently.
- If the subflow is created as a .subflow file, it adds the subflow source file.
- If the subflow is created as a .msgflow file,
it adds the subflow as a compiled object.
Packaging considerations for WebSphere Message Broker Version 8.0.0.1 and later versions
- When you add a message flow defined in a Message Broker project
to a BAR file, the BAR builder will automatically include any required
subflows. Subflows that are created as .msgflow files are not displayed in the BAR file as separate items, and are
added automatically. To include these subflows, you have to add only
the parent message flow.
For example, in the following figure, the subflow Error_handler.msgflow is included in the message flow Main_Flow.msgflow.
When you select the message flow to include in the BAR file, the subflow does not get selected automatically. However, the subflow is included in the compiled message flow included in the BAR file.
Note: Subflows created as .msgflow files that do not have an Input node such as MQinput node are not available for selection when you add resources to a BAR file. - You can choose to select the BAR file creation option Compile and in-line resources so that a message flow is added to a BAR file in its compiled form. Message flows are included in the BAR file as compiled objects, that is, as .cmf files, and subflows created as .msgflow files are included inline in the compiled object.
- If you try to create a BAR file with the option Compile
and in-line resources not selected, and the message flow
has embedded subflows created as .msgflow files,
you get the following error:
If you see this error message, open the BAR file properties and select the option Compile and in-line resources.
- When you add a subflow to a BAR file; the subflow is created in
a Message Broker project; and the message flow where the subflow is
being used is packaged in a different BAR file, the BAR builder behaviour
depends on the subflow type:
- If the subflow is created as a .msgflow file, WebSphere Message Broker adds
the subflow as a compiled object if it has an Input node (such as
the MQInput node). Note: Subflows that only have generic input nodes cannot be deployed independently.
For example, in the following figure, the Error_Handler.msgflow is a subflow created as a .msgflow file:
When you create the BAR file and the option Compile and in-line resources is selected, the subflow is added to the BAR file as a compiled object.
When you create the BAR file and the option Compile and in-line resources is not selected, the subflow is added to the BAR file as a source object.
- If the subflow is created as a .subflow file, the subflow source file is added.
- If the subflow is created as a .msgflow file, WebSphere Message Broker adds
the subflow as a compiled object if it has an Input node (such as
the MQInput node).