少し変わった問題があります.2つのシングルトンオーケストレーションがあります.Singleton-AとSingleton-Bと呼びましょう.
Singleton-A は、タイプ Message-A のメッセージをアセンブルし、直接バインドされたオーケストレーション ポートを介してメッセージ ボックスに送信します。これはシングルトンであるため、1 つのホスト インスタンスでのみ実行する必要があります。したがって、各 Message-A は正しい順序 1、2、3、4 などでメッセージボックスに送信されます。HAT を使用して、これが正しいことを確認できます。
Singleton-B には Message-A へのサブスクリプションがあります。Singleton-B には、Singleton-A からのメッセージを受信するための論理受信ポートがあります。この受信ポートでは、配信が true に設定されています。もちろん、Singleton-B もシングルスレッドです。しかし、Singleton-A によって送信されたメッセージが Singleton-B によって消費されると、メッセージは間違った順序で消費されます 1、2、4、3... など。再び HAT を見ると、これが真実であることがわかります。
Singleton-B がメッセージを処理する順序は、完全に決定論的ではないようです。ここで何が起きてるの?サブスクリプションの評価および/またはホスト キューのエンキュー プロセスはマルチスレッド化されていますか? BizTalk がシングルトン オーケストレーション間の順序付き配信をサポートしないと想定するのは適切ですか?