質問

システムを2つの部分に分けています。両方の部分がそれぞれと通信します その他はRhinoServiceBusを使用しています。 Windows 7では問題ありませんが、他の場所で起動すると (WinXP、Server 2003、...)次の例外が発生します Rhino.ServiceBus.Hosting.DefaultHost.Start(..)を呼び出すとき: ジェネラコディセタグプレ

これがSpringログのフラグメントです: ジェネラコディセタグプレ

役に立ちましたか?

解決

解決した問題: MSMQバージョン3以下(Windows XP、Windows Server 2003などのシステム)では、サブキューはサポートされていないため、RhinoSBはFlatQueueStrategyを使用してキューを管理します。 Springオブジェクトコンテナを設定すると問題が発生します。具体的には、クラスRhino.ServiceBus.Spring.SpringBuilderには、変更が必要な場所が2つあります。

1)メソッド RegisterMsmqTransport ジェネラコディセタグプレ

ifステートメントの2番目の部分は常に呼び出されます。これは、FlatQueueStrategyには、タイプIQueueStrategyおよびUriのパラメーターを持つコンストラクターがないためです。 しかし、パラメーターのないコンストラクターさえありません。そのため、FlatQueueStrategyはオブジェクトコンテナに正しく登録されていません。 この部分の変更は次のようになります: ジェネラコディセタグプレ

2)メソッド RegisterDefaultServices

次の問題はRegisterDefaultServicesメソッドにあります: ジェネラコディセタグプレ

メソッドRegisterMsmqTransportは、IEndpointRouterがオブジェクトコンテナに登録される前に呼び出されます。 IEndpointRouterはメソッドRegisterMsmqTransport(1を参照)で使用されるため、メソッド呼び出し ジェネラコディセタグプレ

は例外を生成します。 ここでの変更は次のようになります: ジェネラコディセタグプレ

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top