<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="bbPress/1.0.3" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>bpmnforum.ru &#187; Topic: Компенсация теория и практика</title>
		<link>http://bpmnforum.ru/topic/385</link>
		<description>bpmnforum.ru &#187; Topic: Компенсация теория и практика</description>
		<language>ru-RU</language>
		<pubDate>Fri, 19 Jun 2026 10:03:35 +0000</pubDate>
		<generator>http://bbpress.org/?v=1.0.3</generator>
		<textInput>
			<title><![CDATA[Поиск]]></title>
			<description><![CDATA[Search all topics from these forums.]]></description>
			<name>q</name>
			<link>http://bpmnforum.ru/search.php</link>
		</textInput>
		<atom:link href="http://bpmnforum.ru/rss/topic/385" rel="self" type="application/rss+xml" />

		<item>
			<title>Анатолий Белайчук на "Компенсация теория и практика"</title>
			<link>http://bpmnforum.ru/topic/385#post-1777</link>
			<pubDate>Пон, 22 Май 2017 12:32:02 +0000</pubDate>
			<dc:creator>Анатолий Белайчук</dc:creator>
			<guid isPermaLink="false">1777@http://bpmnforum.ru/</guid>
			<description>&#60;p&#62;1. нет&#60;br /&#62;
2. да, но не обязательно. может также end event, может также cancel в качестве побочного эффекта. откатывается весь транзакционный подпроцесс - все задачи, для которых определена компенсирующая задача, вызываются в порядке last in - first out.&#60;br /&#62;
3. компенсация - это не тип задачи, а модификатор. как цикл. тип при этом может быть любым, например user.&#60;/p&#62;
&#60;p&#62;вопрос о том, как и для чего использовать транзакционные подпроцессы и компенсации, мы разбираем на тренинге.
&#60;/p&#62;</description>
		</item>
		<item>
			<title>Andrew Stash на "Компенсация теория и практика"</title>
			<link>http://bpmnforum.ru/topic/385#post-1776</link>
			<pubDate>Пон, 22 Май 2017 11:22:01 +0000</pubDate>
			<dc:creator>Andrew Stash</dc:creator>
			<guid isPermaLink="false">1776@http://bpmnforum.ru/</guid>
			<description>&#60;p&#62;Здравствуйте.&#60;br /&#62;
Хочу разобратся как работает компенсация, но из того материала что нахожу в интернете сложно понять как она работает.&#60;/p&#62;
&#60;p&#62;Основной её смысл в том чтобы откатить уже сделанные действия новыми действями.&#60;/p&#62;
&#60;p&#62;На практике не понимаю как оно будет работать.&#60;/p&#62;
&#60;p&#62;Есть например Service task мы на него ставим Boundary Compensation event (у меня в activiti этот елемент не имеет дополнительной конфигурации), от него мы можем проложить transition к compensation task (например ещё один service task только isForCompensation = true)&#60;/p&#62;
&#60;p&#62;Гайды пишут, когда Service task нужно будет компенсировать, то этот compensation task отработает.&#60;/p&#62;
&#60;p&#62;Вопросы на которые я  прошу мне помочь ответом:&#60;br /&#62;
1. Ивент компенсации должен бросатся Service task-ом? Например когда случилась ошибка или с помощю engine API. Если да то как?&#60;br /&#62;
2. Ивент компнесации должен бросатся только Compensation Intermediate Throw Event-ом после проверки неких условий после выполнения Service task-а? Тогда все Boundary Compensation event-ы в границах процесах поймают этот ивент и отработают? Или Compensation Intermediate Throw Event можно настроить на определённый  Boundary Compensation event?&#60;br /&#62;
3. Чем отличается Service task у которого isForCompensation = true от обычного Service task-а? Возможно у него другой контекс с переменными, если да то зачем это? Тоесть почему для компенсации есть особый тип задач, почему не делать компенсацию обычными задачами?&#60;/p&#62;
&#60;p&#62;Очень буду благодарен за ответы, спасибо.
&#60;/p&#62;</description>
		</item>

	</channel>
</rss>
