我正在使用NServiceBus 2.5并试图获得与分销商合作的NServiceBus PubSub示例的简化版本。简化:NServiceBus:获取PubSub与分销商合作的问题
- 1出版商
- 分销
- 1用户 所有这一切都是在一台机器上。
我想在我移动到像一个单一的分销商背后多用户,多机等更复杂的事情得到这个工作
首先,我得到了简化酒馆子例如不工作总代理(即1个酒吧和1个分 - 我得到的工作很好)。
据我所知,它的工作方式是: 经销商定义自己的控制和数据队列。 发布者拥有控制队列,但没有其他配置引用此队列。发布者引用分发数据队列。 订阅者是指分发者数据和控制队列。
我一直无法获得使用此配置的简化pub-sub分销商。我已经对发布者进行了一些调试,我发现发布者的Bus.Publish没有发现要发布的任何订阅者。
任何想法我做错了什么,我需要做什么来得到这个工作?
这里的CONFIGS每个那些:
出版商:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="MsmqTransportConfig" type="NServiceBus.Config.MsmqTransportConfig, NServiceBus.Core" />
<section name="UnicastBusConfig" type="NServiceBus.Config.UnicastBusConfig, NServiceBus.Core" />
</configSections>
<MsmqTransportConfig InputQueue="MyPublisherInputQueue" ErrorQueue="error" NumberOfWorkerThreads="1" MaxRetries="5" />
<UnicastBusConfig>
<MessageEndpointMappings>
<add Messages="MyMessages" Endpoint="distributorDataBus" />
</MessageEndpointMappings>
</UnicastBusConfig>
</configuration>
分销
<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>
</configuration>
用户
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="MsmqTransportConfig" type="NServiceBus.Config.MsmqTransportConfig, NServiceBus.Core" />
<section name="UnicastBusConfig" type="NServiceBus.Config.UnicastBusConfig, NServiceBus.Core" />
</configSections>
<MsmqTransportConfig
InputQueue="Subscriber1InputQueue_1"
ErrorQueue="error"
NumberOfWorkerThreads="1"
MaxRetries="5"
/>
<UnicastBusConfig DistributorControlAddress="distributorControlBus" DistributorDataAddress="distributorDataBus">
<MessageEndpointMappings />
</UnicastBusConfig>
</configuration>