如何從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