如何从SQL Server Service Broker中提取消息?我正在使用nservicebus。从SQL Server Service Broker中提取消息
我在我的SQL Server Service Broker队列中有消息,但我不知道如何处理它们。
千恩万谢,
如何从SQL Server Service Broker中提取消息?我正在使用nservicebus。从SQL Server Service Broker中提取消息
我在我的SQL Server Service Broker队列中有消息,但我不知道如何处理它们。
千恩万谢,
此代码将帮助您。 DECLARE @messageType SYSNAME DECLARE @conversationHandle UNIQUEIDENTIFIER DECLARE @Handle UNIQUEIDENTIFIER DECLARE @MessageBody为nvarchar(最大)
DECLARE @conversation_group_id UNIQUEIDENTIFIER ;
WAITFOR(
GET CONVERSATION GROUP @conversation_group_id
FROM [UpdateReceiveQueue]
);
WAITFOR (
RECEIVE TOP(1)
@messageType=message_type_name,
@MessageBody=message_body,
@conversationHandle=conversation_handle
FROM [UpdateReceiveQueue] where conversation_group_id = @conversation_group_id
),timeout 2000;
print @MessageBody
请使用link以获取更多信息。
从Service Broker的队列中提取信息的唯一方法是RECEIVE
声明。 Service Broker有Activation可以触发运行RECEIVE语句的代码。
NServiceBus不支持SSSB作为传输。 NServiceBus SQL Server传输使用表作为轮询队列。
我创建了基于IAdvancedSatellite的自己的SSSB处理。但是,SSSB似乎不是很可靠,我们停止使用它。其原因是:
因此,如果您必须使用SQL Server,我宁愿推荐使用strandard SQL Server传输。但是,您应该记住它每秒钟都在轮询您的数据库。
请问我能举个例子吗? – 2013-05-15 14:00:44
请参阅http://rusanu.com/2006/10/16/writing-service-broker-procedures/ – 2013-05-15 14:20:02
但是NServiceBus 4是否支持开箱即用?我的意思是从SSB中提取消息? – Marco 2013-10-11 09:23:08