2010-03-04 3 views
1

Dans ma configuration de l'éditeur de message que jeTransfert de messages vers le point final à distance dans Nservicebus

<MsmqTransportConfig 
    InputQueue="EnformMessages" 
    ErrorQueue="error" 
    NumberOfWorkerThreads="1" 
    MaxRetries="5" 
    /> 
    <UnicastBusConfig ForwardReceivedMessagesTo="[email protected]"> 
     <MessageEndpointMappings> 
     <!-- publishers don't need to set this for their own message types --> 
     </MessageEndpointMappings> 
    </UnicastBusConfig> 

que j'espérais copiera les messages publiés à EnformMessages à une file d'attente sur une machine distante. Aucun message ne semble jamais être envoyé à la machine distante bien que les messages soient certainement reçus localement. Le fichier de configuration de l'auditeur à distance ressemble

<MsmqTransportConfig 
    InputQueue="worker" 
    ErrorQueue="error" 
    NumberOfWorkerThreads="1" 
    MaxRetries="5" 
    /> 

    <UnicastBusConfig> 
    <MessageEndpointMappings> 

     <add Messages="EnformMessages" Endpoint="testqueue" /> 
    </MessageEndpointMappings> 
    </UnicastBusConfig> 

J'ai aussi essayé d'utiliser le distributeur de la manière décrite à http://www.candland.net/blog/2009/06/08/NServiceBusDistributorOverview.aspx. Donc, ma configuration de l'éditeur ressemblait

<MsmqTransportConfig 
    InputQueue="client" 
    ErrorQueue="error" 
    NumberOfWorkerThreads="1" 
    MaxRetries="5" 
    /> 

    <UnicastBusConfig 
    DistributorControlAddress="" 
    DistributorDataAddress="" 
    ForwardReceivedMessagesTo=""> 

    <MessageEndpointMappings> 
     <!-- publishers don't need to set this for their own message types --> 
     <add Messages="EnformMessages" Endpoint="[email protected]" /> 
     </MessageEndpointMappings> 
    </UnicastBusConfig> 

configuration d'abonné comme

<MsmqTransportConfig 
    InputQueue="EnformMessages" 
    ErrorQueue="error" 
    NumberOfWorkerThreads="1" 
    MaxRetries="5" 
    /> 

    <UnicastBusConfig 
    DistributorControlAddress="[email protected]" 

     DistributorDataAddress="[email protected]"> 
    <MessageEndpointMappings> 

     <!--<add Messages="EnformMessages" Endpoint="EnformMessages" />--> 
    </MessageEndpointMappings> 
    </UnicastBusConfig> 

et distributeur comme

<appSettings> 
    <add key="NumberOfWorkerThreads" value="1"/> 

    <add key="DataInputQueue" value="distributorDataBus"/> 
    <add key="ControlInputQueue" value="distributorControlBus"/> 
    <add key="ErrorQueue" value="error"/> 
    <add key="StorageQueue" value="distributorStorage"/> 

    <add key="NameSpace" value="http://www.UdiDahan.com"/> 
    <!-- relevant for a Serialization of "interfaces" or "xml" --> 

    <add key="Serialization" value="xml"/> 
    <!-- can be either "xml", or "binary" --> 
    </appSettings> 


    <MsmqTransportConfig 
InputQueue="distributorControlBus" 
ErrorQueue="error" 
NumberOfWorkerThreads="1" 
MaxRetries="5" 
    /> 

    <UnicastBusConfig > 
    <MessageEndpointMappings > 

     <add Messages="EnformMessages" Endpoint="EnformMessages" /> 
    </MessageEndpointMappings> 
    </UnicastBusConfig> 

Aucun message semblent arriver. En fait, rien n'est imprimé par le distributeur. J'ai ajouté une section de journalisation au fichier de configuration dans l'espoir que cela produirait une sortie mais n'obtiendrait rien.

Nservicebus 2.0.0.768

+0

Premières choses - mise à niveau à la RTM :-) –

+0

Ah, c'est une bonne idée. Je l'ai fait et je suis revenu au point où le pub/sub local fonctionne – stimms

Répondre

3

Dans un pub/scénario secondaire, il est l'abonné qui sera Transfert de messages à une file d'attente d'audit, pas l'éditeur. En outre, vous avez indiqué à votre abonné que son éditeur est "testqueue" mais que vous avez spécifié la file d'attente d'entrée de votre éditeur comme "EnformMessages". Ces deux files d'attente doivent correspondre.

+0

Donc, le ForwardRecievedMessagesTo est vraiment juste pour l'audit et ne devrait pas être utilisé pour distribuer des messages de la manière que j'essaye. testqueue était juste pour quand je collais à la question. Il est en réalité EnformMessages – stimms

+0

En lisant un peu plus, il semble que je ne devrais pas utiliser les fonctionnalités de file d'attente à distance de MSMQ 4 pour diverses raisons. Je suppose que je vais essayer le distributeur à nouveau. – stimms

+0

D'accord, quelques progrès. Déployer le distributeur sur la machine d'écoute avec un auditeur semble montrer que l'auditeur est connecté au distributeur. Maintenant, comment obtient-on des messages au distributeur? – stimms

Questions connexes