Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Service Broker вопросы  [new]
кпцукпцукп
Guest
Разбираюсь с ним. Все примитивно:

- очередь инициатора и получателя на одной базе
- на получателе internal activation, дергается самописная процедура в ней что-то вроде

begin transaction

receive...

end dialog @dgl_hnd

commit transaction;

- в очереди инициатора накапливаются сообщения с типом:

http://schemas.microsoft.com/SQL/ServiceBroker/EndDialog

как от них избавляться если они мне не нужны? тупо internal activation на очередь инициатора и выгребать оттуда?

- в

select *
from
	sys.conversation_endpoints


копятся записи. почему-то не закрываются диалоги. в состоянии

DISCONNECTED_INBOUND для is_initiator = 1
CLOSED для is_initiator = 0

что, надо делать на очереди инициатора в internal activation процедуре end dialog?
23 июн 14, 12:11    [16205660]     Ответить | Цитировать Сообщить модератору
 Re: Service Broker вопросы  [new]
invm
Member

Откуда: Москва
Сообщений: 9402
После send сразу делаете end conversation?
23 июн 14, 12:21    [16205698]     Ответить | Цитировать Сообщить модератору
 Re: Service Broker вопросы  [new]
gsfgsdfgsdfg
Guest
invm
После send сразу делаете end conversation?


не делаю. сценарий такой:

инициатор:

- begin tran
- begin dialog
- send
- commit tran

получатель (internal activation proc):

- begin tran
- receive
- end dialog @dlg_hnd
- commit tran
23 июн 14, 12:26    [16205738]     Ответить | Цитировать Сообщить модератору
 Re: Service Broker вопросы  [new]
invm
Member

Откуда: Москва
Сообщений: 9402
Тьфу, невнимательно прочитал вопрос...

Для завершения диалога, необходимо выполнить end conversation на каждой его стороне. Вы же выполняете только на получателе.
23 июн 14, 12:28    [16205753]     Ответить | Цитировать Сообщить модератору
 Re: Service Broker вопросы  [new]
asdaqwef
Guest
invm
Тьфу, невнимательно прочитал вопрос...

Для завершения диалога, необходимо выполнить end conversation на каждой его стороне. Вы же выполняете только на получателе.


ok спасибо!
23 июн 14, 12:38    [16205798]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить