FME Transformers: 2026.1
IBMMQConnector
Connects to an IBM MQ 9.x Queue Manager to send or receive messages and publish or subscribe to topics.
Typical Uses
- Sending and receiving messages
- Publishing or subscribing to topics
How does it work?
The IBMMQConnector uses your account credentials to perform various tasks:
| Action | Task |
|---|---|
|
Count Messages |
Count the number of messages pending in a queue. |
|
Receive |
Receive messages from queues or topics. |
|
Send |
Send messages to queues or topics. |
Optional Input Port
This transformer has two modes, depending on whether a connector is attached to the Input port or not:
- Input-driven: When input features are connected, the transformer runs once for each feature it receives in the Input port.
- Run Once: When no input features are connected, the transformer runs one time.
When the Input port is in use, the Initiator output port is also enabled.
Heartbeat
When Action is Receive and the connection is still alive (Receive Mode is Stream or a batch is not yet complete), heartbeat features are output at a specified interval after a period of non-activity.
Heartbeat features have two attributes:
- _heartbeat_id: Integer starting at 0. This is a unique identifier for each heartbeat feature output from this port.
- _heartbeat_counter: Integer starting at 0 that resets whenever the connector receives a new message and a new period of inactivity begins. This counter represents the number of consecutive heartbeat features.
Requirements
- Windows is the only supported operating system.
- This transformer connects to Queue Managers using the Client mode, so users must have an IBM MQ client installed locally. Bindings mode is not supported. For information on installing a client see Where to find downloadable installation images.
- The environment variable MQ_FILE_PATH must be set, which should be done automatically during client installation.
- The IBM MQ user must have these permissions:
- QMGR: CONNECT, DSP, SETID
- QUEUE: DSP, GET, INQ, PUT, SETID
- TOPIC: PUB, SUB
For more details on permissions, see SET AUTHREC (set authority records) on Multiplatforms.
- Listing queues requires these additional permissions:
- SYSTEM.DEFAULT.MODEL.QUEUE: GET, DSP
Usage Notes
-
There are possible restrictions on the default IBM MQ user named “app”. If running into authorization errors despite having the permissions above granted, try creating a different user.
Configuration
Input Ports
This transformer accepts any feature.
Output Ports
Features with added attributes, as specified in parameters and according to Action:
|
Action |
Output - Input-Driven |
Output - Run Once |
|---|---|---|
|
Count Messages |
Input feature with a message count. |
One new feature with a message count. |
|
Receive |
Multiple features, one for each message received, with details about the message. |
Multiple features, one for each message received, with details about the message. |
|
Send |
Input feature with details about the sent message. |
New feature with details about the sent message. |
When Action is Receive, heartbeat features are output through this port.
When the optional Input port is used, input features are output here unmodified, in addition to any other output locations (Output or <Rejected>).
Features that cause the operation to fail are output through this port. An fme_rejection_code attribute describing the category of the error will be added, along with a more descriptive fme_rejection_message which contains more specific details as to the reason for the failure.
If an Input feature already has a value for fme_rejection_code, this value will be removed.
Rejected Feature Handling: can be set to either terminate the translation or continue running when it encounters a rejected feature. This setting is available both as a default FME option and as a workspace parameter.
Parameters
|
Web Connection |
Select or create a Web Connection connecting to an IBM MQ Web Service. |
|
Queue Manager |
Specify the Queue Manager to connect to. |
||||
|
Channel |
Specify the MQ Channel to use. |
||||
|
Use SSL |
When enabled, use SSL.
Note that the Queue Manager must also be configured to use SSL. |
|
Action |
Select an operation to perform. Choices include:
Defaults to Receive. |
Count Messages Options
|
Queue |
Select a queue to count pending messages on. If the specified queue does not exist, the transformer will return a rejected feature. |
Output Attributes
|
Attributes to Add |
Select any available attributes to be included on the output features:
|
Receive Options
|
Source |
Select the message source to receive from:
|
|
Queue |
When Source is Queue, specify the queue to receive from. |
|
Topic String |
When Source is Topic, specify the topic string to subscribe to. This is a character string that must be broken up into ‘/’ delimited parts. See Topic strings - IBM Documentation. |
|
Subscription Name |
When Source is Topic, specify the subscription to receive from. If the specified subscription does not exist, a new subscription will be created for Topic String. |
|
Durable Subscription |
When Source is Topic, specify whether the subscription is durable:
|
|
Receive Mode |
Select a message receiving method:
|
|
Batch Size |
When Receive Mode is Batch, specify the number of messages to read per batch. |
|
Get JMS Headers |
When Source is Queue, specify whether JMS (Java Message Service) headers are kept or discarded:
|
|
Maximum Message Length (MB) |
Specify the maximum length of a message that can be transmitted on the specified Channel. The default is 4 MB, and the value must be between 4 and 100. Note that when adjusting the Maximum Message Length, users may also need to update the queue, queue manager, and channel configurations via MQSC commands or the MQ Console. For subscriptions, users may need to update the underlying queue configuration. |
Heartbeat
|
Interval |
Specify the duration of a period of inactivity before a heartbeat feature is emitted, in Time Units. Default is 1. |
|
Time Unit |
Select the Interval unit:
|
Output Attributes
|
Attributes to Add |
Select any available attributes to be included on the output features:
|
Send Options
|
Payload |
Provide the message to send. |
||||
|
Destination |
Select a message destination:
|
||||
|
Queue |
When Destination is Queue, specify the queue. |
||||
|
Queue Message Descriptor |
(Optional) When Destination is Queue, set message properties.
|
||||
|
Topic String |
When Destination is Topic, provide the topic string to send to. This is a character string that must be broken up into ‘/’ delimited parts. |
||||
|
Topic Message Descriptor |
(Optional) When Destination is Topic, set message properties.
|
||||
|
Maximum Message Length (MB) |
Specify the maximum length of a message that can be transmitted on the specified Channel. The default is 4 MB, and the value must be between 4 and 100. Note that when adjusting the Maximum Message Length, users may also need to update the queue, queue manager, and channel configurations via MQSC commands or the MQ Console. |
Output Attributes
|
Attributes to Add |
Select any available attributes to be included on the output features:
|
Editing Transformer Parameters
Transformer parameters can be set by directly entering values, using expressions, or referencing other elements in the workspace such as attribute values or user parameters. Various editors and context menus are available to assist. To see what is available, click
beside the applicable parameter.
Defining Values
There are several ways to define a value for use in a Transformer. The simplest is to simply type in a value or string, which can include functions of various types such as attribute references, math and string functions, and workspace parameters.
Using the Text Editor
The Text Editor provides a convenient way to construct text strings (including regular expressions) from various data sources, such as attributes, parameters, and constants, where the result is used directly inside a parameter.
Using the Arithmetic Editor
The Arithmetic Editor provides a convenient way to construct math expressions from various data sources, such as attributes, parameters, and feature functions, where the result is used directly inside a parameter.
Conditional Values
Set values depending on one or more test conditions that either pass or fail.
Parameter Condition Definition Dialog
Content
Expressions and strings can include a number of functions, characters, parameters, and more.
When setting values - whether entered directly in a parameter or constructed using one of the editors - strings and expressions containing String, Math, Date/Time or FME Feature Functions will have those functions evaluated. Therefore, the names of these functions (in the form @<function_name>) should not be used as literal string values.
| These functions manipulate and format strings. | |
|
Special Characters |
A set of control characters is available in the Text Editor. |
| Math functions are available in both editors. | |
| Date/Time Functions | Date and time functions are available in the Text Editor. |
| These operators are available in the Arithmetic Editor. | |
| These return primarily feature-specific values. | |
| FME and workspace-specific parameters may be used. | |
| Creating and Modifying User Parameters | Create your own editable parameters. |
Table Tools
Transformers with table-style parameters have additional tools for populating and manipulating values.
|
Row Reordering
|
Enabled once you have clicked on a row item. Choices include:
|
|
Cut, Copy, and Paste
|
Enabled once you have clicked on a row item. Choices include:
Cut, copy, and paste may be used within a transformer, or between transformers. |
|
Filter
|
Start typing a string, and the matrix will only display rows matching those characters. Searches all columns. This only affects the display of attributes within the transformer - it does not alter which attributes are output. |
|
Import
|
Import populates the table with a set of new attributes read from a dataset. Specific application varies between transformers. |
|
Reset/Refresh
|
Generally resets the table to its initial state, and may provide additional options to remove invalid entries. Behavior varies between transformers. |
Note: Not all tools are available in all transformers.
For more information, see Transformer Parameter Menu Options.
Reference
|
Processing Behavior |
|
|
Feature Holding |
No |
| Dependencies | |
| Aliases | |
| History |
FME Online Resources
The FME Community and Support Center Knowledge Base have a wealth of information, including active forums with 35,000+ members and thousands of articles.
Search for all results about the IBMMQConnector on the FME Community.
Examples may contain information licensed under the Open Government Licence – Vancouver, Open Government Licence - British Columbia, and/or Open Government Licence – Canada.