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.
When you build a BAR file in
IBM® Integration Toolkit, you must consider the following BAR builder behavior:
- When you add a message flow defined in an Integration 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
an Integration 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, IBM Integration Bus 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.