Предположим, у меня есть mynamespace.myproduct :
<subscriber for="..interfaces.myinterface.IMyInterface
Products.CMFCore.interfaces.IActionSucceededEvent"
handler=".handlers.actionSucceeded"
/>
и mynamespace.myproduct2 :
<subscriber for="..interfaces.myinterface.IMyInterface
Products.CMFCore.interfaces.IActionSucceededEvent"
handler=".handlers.actionSucceeded"
/>
(обработчики делают разные вещи для каждого продукта, даже если в этом примере они имеют одинаковые имена)
У меня есть пользовательский тип, который имеет собственный рабочий процесс. Я собираюсь сделать переход рабочего процесса из Python, используя doActionFor
, и делать кучу вещей, когда IActionSucceededEvent
запускается.
Мой вопрос: если я вызову исключение для любого из .handlers.actionSucceeded
, если произойдет ошибка, будет ли doActionFor
вызов отменен (даже после запуска IActionSucceededEvent
)? Если нет, если я использую IActionWillBeInvokedEvent
, смогу ли я достичь своих целей? Будет ли у меня проблема с двумя разными продуктами, использующими Products.CMFCore.interfaces.IActionSucceededEvent
для одного и того же ..interfaces.myinterface.IMyInterface
интерфейса?