私は最近シャトルESBで実験しています。これまでは、単一のマシンで完全に動作するコンポーネントを作成することができました。しかし、同じネットワーク上の異なるマシン上のコンポーネントを移動しようとすると、作業が止まるだけです。クライアントはBus.Create()で失敗します。ネットワーク上の他のマシンからアクセスできるShuttle-ESBのメッセージキューを作成する方法は?
Shuttle-ESBでパブリックキューを作成するにはどうすればよいですか?
私は最近シャトルESBで実験しています。これまでは、単一のマシンで完全に動作するコンポーネントを作成することができました。しかし、同じネットワーク上の異なるマシン上のコンポーネントを移動しようとすると、作業が止まるだけです。クライアントはBus.Create()で失敗します。ネットワーク上の他のマシンからアクセスできるShuttle-ESBのメッセージキューを作成する方法は?
Shuttle-ESBでパブリックキューを作成するにはどうすればよいですか?
を使用しているエンドポイントでは、ローカルマシン上に受信トレイが必要です。これは、Msmqトランザクションを使用して、キューの裏にあるジャーナルキューを介してキューからメッセージを取得するためです。
一つは、リモートプライベートトランザクションキューを読み取ることができません:https://msdn.microsoft.com/en-us/library/ms699854%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396
あなたはMSMQがローカルマシン上で有効にする必要があります。コメントで述べたように、パブリックキューは助けになるかもしれませんが、現在は実装されておらず、パブリックキューには独自の課題があります。
ローカルエンドポイントマシンにMsmqをインストールするのが面倒な場合は、Shuttle.Esb.RabbitMQ
と考えてください。 RabbitMQはブローカであるため、ローカルにインストールする必要はありません。送信トレイを有効にしたり使用したりするには、これをやりたいことがあります(オプション)。
どのキューメカニズムが使用されていますか?あなたの質問から、それはMsmqのようです。 Shuttle.Esb.MsmqのMsmq実装は、プライベートキューのみをサポートしています。リモートプライベートキューには送信できますが、リモートプライベートキューからは読み取ることはできません。公開キューを使用する必要がある場合(推奨されていない)、別の実装が必要です。公開/プライベートキューの別のSO質問:http://stackoverflow.com/questions/1849989/private-or-public-msmq –
はい私はMSMQを使用しています。プライベートキューを作成します。コンポーネントは単一のマシン上で動作しますが、ネットワーク上を移動するとプライベートキューが非表示になり、クライアントが失敗します。 –