首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Service Broker外部激活器不会处理队列中的所有消息

Service Broker外部激活器不会处理队列中的所有消息
EN

Stack Overflow用户
提问于 2013-05-20 19:12:42
回答 1查看 189关注 0票数 0

我设置了外部激活器,它执行一个简单的应用程序(作为启动),它所做的一切就是运行以下sql语句

WAITFOR(receive top(1) * from [dbo].[DBTriggersQueue]), TIMEOUT 5000;

我在一个表上有一个update触发器,它将消息添加到队列。

我的问题是,如果我运行几个更新脚本(一个接一个地更新4个),它会将消息添加到队列中,我的SBEA会接收事件通知,但它只接收1-2个事件通知(根据EATrace日志),因此我的简单应用程序只处理2个消息。

有人知道是什么原因导致SBEA在最初的1/2之后发送或接收通知吗?

这似乎与时间有关,因为如果我运行我的每个更新脚本几乎没有延迟,那么每次更新都会发送事件通知并处理消息。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-20 19:21:01

激活不是每条消息的触发器。当你被激活时,你应该会收到所有的消息。一旦激活,继续发出RECEIVE语句并处理消息,直到RECEIVE返回一个空的结果集。欲了解更多详情,请访问Understanding When Activation Occurs

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16648240

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档