Skip to content

Commit 95d3d95

Browse files
committed
docs
2 parents 62075cb + 51b1d2f commit 95d3d95

2 files changed

Lines changed: 14 additions & 0 deletions

File tree

menu/menu.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1092,6 +1092,8 @@
10921092
Title: Transaction support
10931093
- Url: transports/ibmmq/native-integration
10941094
Title: Native integration
1095+
- Url: transports/ibmmq/observability
1096+
Title: Observability
10951097
- Url: transports/ibmmq/operations-scripting
10961098
Title: Scripting
10971099
- Title: RabbitMQ

transports/ibmmq/topology.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,18 @@ graph LR
6565
> [!NOTE]
6666
> For polymorphic subscriptions to work correctly, all concrete event types must be loadable in the subscribing endpoint's AppDomain. If a concrete type is defined in an assembly that is not referenced, the subscription for that type will not be created.
6767
68+
### Recommendations for message hierarchies
69+
70+
When using polymorphic events, distribute event types in dedicated, independently versioned packages. This allows subscribers to reference new concrete types and update their subscriptions before the publisher begins publishing those events.
71+
72+
Ensure that the deployment pipeline runs all subscriber subscription steps **before** starting the new version of the publisher. If a publisher starts publishing a new concrete event type before subscribers have created their subscriptions, those messages will be lost because no durable subscription exists to route them to a queue.
73+
74+
A typical deployment order:
75+
76+
1. Deploy the updated message contracts package containing the new event type.
77+
2. Run the [command-line tool](operations-scripting.md) to create subscriptions for all subscribers, or deploy and start all subscribing endpoints so they create their durable subscriptions.
78+
3. Deploy and start the publishing endpoint.
79+
6880
## Topic naming
6981

7082
Topics are named using a configurable strategy. The default uses a prefix (default: `DEV`) and the fully qualified type name:

0 commit comments

Comments
 (0)