2

NServiceBus を使い始めたばかりで、Pubsub サンプルについて質問があります。

私の意図は、Publisher1 の複数のインスタンスを実行して、発行元から送信されたメッセージを受信することでした。また、パブリッシャーをハッキングして、eventMessage タイプのメッセージのみを送信しました。

しかし、パブリッシャーと Subscriber1 の 3 つのインスタンスを開始すると、一度に 1 つのみがメッセージを受け取ります。

何故ですか?それは構成設定ですか、それとも何か他のものですか?

これは私が試したもので、「エンドポイントを開始するときに例外が発生しました。エラーがログに記録されました。理由: コンポーネントが構成される前にプロパティを構成できません。最初に「構成」を呼び出してください。」:

using NServiceBus;

namespace Subscriber1
{
    public class EndpointConfig : IConfigureThisEndpoint, AsA_Server
    {
    }

    public class OverrideInputQueue : IWantCustomInitialization
    {
        public void Init()
        {
            Configure
                .Instance
                .Configurer
                .ConfigureProperty<NServiceBus.Config.MsmqTransportConfig>(t => t.InputQueue, "testQueue");
        }
    }
}

/J

4

2 に答える 2

1

NServiceBusは、プロセスごとに1つの入力キューがあることを前提としています。各サブスクライバーが一意の入力キューで構成されていることを確認してください。3つすべてが同じキューをポーリングしていない場合は、説明している動作が生成されます。

これを行うには、おそらくsub1をコピーして3つの異なるフォルダーに貼り付け、app.configを変更して、それらを起動する必要があります。

お役に立てれば!

于 2010-03-17T16:58:36.987 に答える
0

あなたはこれを使うべきです-

Configure.Instance.Configurer.ConfigureProperty<NServiceBus.Unicast.Transport.Msmq.MsmqTransport>(msmq => msmq.InputQueue, "SomeQueueHere");

あなたが述べたように、 MsmqTransportConfigではなくMsmqTransportを使用していることを確認してください。

于 2011-04-20T08:56:47.227 に答える