AI agents: use the documentation index at llms.txt to locate machine-readable pages. This section is indexed by https://docs.particular.net/transports/llms.txt. The markdown version of this page is served as plain text. An MCP server at /mcp serves the same content via the search_docs and read_doc tools; it is read-only and needs no credentials. Markdown versions of documentation pages are available by appending .md to the page URL. Directory URLs use index.md. They are served as text/plain because some retrieval backends reject text/markdown.

IBM MQ Transport

NuGet Package:
NServiceBus.Transport.IBMMQ 1.x
Target Version:
NServiceBus 10.x

The IBM MQ transport allows NServiceBus endpoints to send and receive messages using IBM MQ. IBM MQ transport integrates NServiceBus with IBM MQ using the IBM MQ .NET client.

Broker version compatibility

The transport requires IBM MQ 9.0 or later. IBM guarantees that any supported MQ client can connect to any supported queue manager, regardless of version.

The transport ships the IBM-provided managed .NET client (IBMMQDotnetClient) and tracks the latest Continuous Delivery (CD) or Cumulative Security Update (CSU) release rather than pinning to a Long Term Support (LTS) fix pack. The managed client is wire-compatible with LTS queue managers, so customers on an LTS queue manager receive the newest client-side fixes through transport upgrades without needing to change their queue manager.

IBM MQ does not follow SemVer; it uses a four-segment V.R.M.F scheme with parallel LTS and CD streams. See the IBM MQ versioning FAQ for the full scheme and the IBM product lifecycle page for supported-version dates.

Transport at a glance

Feature
TransactionsNone, ReceiveOnly, SendsAtomicWithReceive
Pub/SubNative
TimeoutsNot natively supported
Large message bodiesDetermined by queue manager MAXMSGL setting
Scale-outCompeting consumer
Scripted DeploymentSupported via CLI tool
InstallersOptional
Native integrationSupported
OpenTelemetry tracingSupported
Case SensitiveYes
TransactionScope mode (distributed transactions)No
SSL/TLS encryption and certificate-based authenticationYes
Queue and topic namesLimited to 48 characters
Delayed deliveryNo. Requires an external timeout storage mechanism.
Native message groupingNot yet implemented
Aspire integrationNo

Configuring the endpoint

To use IBM MQ as the underlying transport:

var endpointConfiguration = new EndpointConfiguration("MyEndpoint");

var transport = new IBMMQTransport
{
    Host = "mq-server.example.com", // MQ server hostname
    Port = 1414, // Listener port
    Channel = "DEV.APP.SVRCONN",  // Client connection channel
    QueueManagerName = "QM1", //  Queue Manager
    User = "app",// MQ username
    Password = "passw0rd"// MQ password
};

endpointConfiguration.UseTransport(transport);

See connection settings for all available connection and configuration options.

Message persistence

By default, all messages are sent as persistent, meaning they are written to disk and survive queue manager restarts. Messages marked as non-durable are sent as non-persistent messages that stay in memory and offer higher throughput, but risk message loss if the queue manager stops unexpectedly.

List of Samples

Related Articles