脱水状態のオーケストレーションを再開するにはどうすればよいですか?
- 問題のオーケストレーションは、MSMQ キューからメッセージを取得する必要がありました
- しかし、ユーザー ID のアクセス許可がキューに設定されていなかったため、BizTalk ボックスはキューから読み取ることができませんでした。
パーミッションを修正しましたが、唯一のオプションは teminate と suspend ですか?
脱水状態のオーケストレーションを再開するにはどうすればよいですか?
パーミッションを修正しましたが、唯一のオプションは teminate と suspend ですか?
MSMQのbiztalkサービスインスタンスを再起動するべきではありませんか?
脱水状態とは、オーケストレーションがまだ何かを待っていることを意味します。あなたの場合、MQからの相互に関連するメッセージを待っている必要があると思います。受信ホストサービスインスタンスを再起動すると、すべての接続(サービスインスタンスによって管理されているMSMQ、SQLなど)の再接続が試行されます。その後、すべてのメッセージがオーケストレーションに流れます。
オーケストレーションが開始を試み、MSMQ 受信で失敗した場合、オーケストレーションは基本的にハングしており、キューからメッセージが削除されていません。私はそれを終了します。オーケストレーションは、新しいメッセージをクリアしてピックアップする必要があります。オーケストレーションはシングルトン パターンを実装していますか?それとも、受信時に順序付き配信を使用していますか? これにより、状況が少し複雑になります。
更新 1:
該当する受信場所を確認してください。権限の問題により、biztalk によって無効にされた可能性があります。手動で有効にする必要があります。
更新 0:
脱水状態のオーケストレーションを再開する必要はありません。キューから読み取るのはオーケストレーションではなく、msmq アダプターです。msmq メッセージが到着すると、受信場所はそれをメッセージ ボックスにルーティングします。上記のオーケストレーションに msmq メッセージと一致するサブスクリプション (受信ポート) がある場合、biztalk エンジンによって再開されます。
BizTalkの再開機能は、失敗した場所と方法、および操作の任意の部分を再生できるかどうかによって異なります。ほとんどの場合、オーケストレーションに失敗すると、オーケストレーションを再開できるようにするために、いくつかのコーディングパターンを使用する必要があります。
一時停止してから再開できますか?
BizTalk を始めてから数年が経ちました。このような癖は面倒でした。250k 脱水されていて、スクリプトを再起動する必要がある場合は、さらに悪化します。うーん
心中お察しします。