只想确认如何向远程事务消息队列发送消息。
假设我有两台机器,A和B。
机器A有一个事务队列,用于接收消息。windows服务监视此队列并对数据执行操作(将其保存到Server)。机器B正在运行一个需要写入机器A上的队列的应用程序。
几个问题:
我在解释文件方面有困难。在某些地方,我看到了存储和转发行为的描述,但我很难理解这是事务性队列的默认行为,还是需要显式地进行操作。
发布于 2011-10-04 18:45:15
了解事务性MSMQ的主要内容是,在将消息传输到远程队列的事务过程中实际上涉及3个不同的事务。
所以在回答你的问题时:
在发送消息时,是否在机器B上创建了本地副本,然后才将其传递给机器A?
是
如果是这样的话,这种行为是默认的,还是只在发送"IsRecoverable“属性时发生?
默认情况下。这就是所谓的存储和转发。
队列是事务性的这一事实对此行为有任何影响吗?
不,除了失败的时候。
由于我使用的是事务队列,事务提交后数据在哪里?
这取决于您指的是哪个事务(见上文)。
它是否位于本地,等待msmq服务将消息传递到远程队列?
只有当远程队列不可用时。
或者消息是否位于远程计算机上的队列中?
如果接收方服务无法成功地处理消息(处理程序中有异常),则消息将停留在远程队列上。
https://stackoverflow.com/questions/7650788
复制相似问题