<?xml version="1.0" encoding="UTF-8"?><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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: Implementing &#8216;milestones&#8217; in jBPM</title>
	<atom:link href="http://planetjbpm.wordpress.com/2008/10/01/implementing-milestones-in-jbpm/feed/" rel="self" type="application/rss+xml" />
	<link>http://planetjbpm.wordpress.com/2008/10/01/implementing-milestones-in-jbpm/</link>
	<description>Syndication of blogs from basic to advanced usage of a great workflow engine</description>
	<lastBuildDate>Mon, 28 Sep 2009 19:26:46 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Joram Barrez</title>
		<link>http://planetjbpm.wordpress.com/2008/10/01/implementing-milestones-in-jbpm/#comment-13</link>
		<dc:creator>Joram Barrez</dc:creator>
		<pubDate>Thu, 02 Oct 2008 07:01:15 +0000</pubDate>
		<guid isPermaLink="false">http://planetjbpm.wordpress.com/?p=11#comment-13</guid>
		<description>Ronald,

I did not see the comment the first time, so my bad :)

The performance shouldn&#039;t be an issue if there aren&#039;t many open tasks for a given process instance. But it happen sometimes and than a simple Hibernate query does the trick much faster than iterating over the collection.</description>
		<content:encoded><![CDATA[<p>Ronald,</p>
<p>I did not see the comment the first time, so my bad <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>The performance shouldn&#8217;t be an issue if there aren&#8217;t many open tasks for a given process instance. But it happen sometimes and than a simple Hibernate query does the trick much faster than iterating over the collection.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: salaboy</title>
		<link>http://planetjbpm.wordpress.com/2008/10/01/implementing-milestones-in-jbpm/#comment-12</link>
		<dc:creator>salaboy</dc:creator>
		<pubDate>Wed, 01 Oct 2008 20:24:13 +0000</pubDate>
		<guid isPermaLink="false">http://planetjbpm.wordpress.com/?p=11#comment-12</guid>
		<description>Good post Ronald!</description>
		<content:encoded><![CDATA[<p>Good post Ronald!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: kukeltje</title>
		<link>http://planetjbpm.wordpress.com/2008/10/01/implementing-milestones-in-jbpm/#comment-11</link>
		<dc:creator>kukeltje</dc:creator>
		<pubDate>Wed, 01 Oct 2008 13:16:49 +0000</pubDate>
		<guid isPermaLink="false">http://planetjbpm.wordpress.com/?p=11#comment-11</guid>
		<description>Joram,

Regarding your &#039;remark&#039;... look at my comment in the code ;-) but....

What happens is that the token for the specifically configured task-node is retrieved (task-node a) with 

TaskNode taskNode = (TaskNode) node;

		Token token = (Token) executionContext.getToken().getParent().getChildrenAtNode(taskNode).get(0);

(assuming there is only one token created in task-node a) 

and within that tasknode (token) the unfinished tasks on that token are retrieved with

		Iterator unfinishedTasks = executionContext.getTaskMgmtInstance().getUnfinishedTasks(token).iterator();

So I do not think there is a problem if there are parallel tasks, but I&#039;ll extend my testcase that I HAVE to write to get it included in jBPM with an additional branche in the fork and see what happens. 

Regarding performance (regarding the code above that is?), I did not look into that (yet) but since it happens not that often, I&#039;m not inclined to look into it yet. Maybe an index on something will help out.</description>
		<content:encoded><![CDATA[<p>Joram,</p>
<p>Regarding your &#8216;remark&#8217;&#8230; look at my comment in the code <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  but&#8230;.</p>
<p>What happens is that the token for the specifically configured task-node is retrieved (task-node a) with </p>
<p>TaskNode taskNode = (TaskNode) node;</p>
<p>		Token token = (Token) executionContext.getToken().getParent().getChildrenAtNode(taskNode).get(0);</p>
<p>(assuming there is only one token created in task-node a) </p>
<p>and within that tasknode (token) the unfinished tasks on that token are retrieved with</p>
<p>		Iterator unfinishedTasks = executionContext.getTaskMgmtInstance().getUnfinishedTasks(token).iterator();</p>
<p>So I do not think there is a problem if there are parallel tasks, but I&#8217;ll extend my testcase that I HAVE to write to get it included in jBPM with an additional branche in the fork and see what happens. </p>
<p>Regarding performance (regarding the code above that is?), I did not look into that (yet) but since it happens not that often, I&#8217;m not inclined to look into it yet. Maybe an index on something will help out.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joram Barrez</title>
		<link>http://planetjbpm.wordpress.com/2008/10/01/implementing-milestones-in-jbpm/#comment-8</link>
		<dc:creator>Joram Barrez</dc:creator>
		<pubDate>Wed, 01 Oct 2008 11:52:12 +0000</pubDate>
		<guid isPermaLink="false">http://planetjbpm.wordpress.com/?p=11#comment-8</guid>
		<description>Ronald, excellent post!

I agree that some parts should be incorporated into the distribution (CreateTask/CancelTask classes ... I&#039;ve written them myself too in the past... )

I&#039;m hoping that the WF pattern lovers once will see that (with a little creativity) many (if not all) patterns can be supported by jBPM.

My only remark is for the CancelTask: if there are other parallell paths which contain unfinished tasks, they are cancelled too... 

For performance reasons, I would do a Hibernate call for retrieving the specific TaskInstances with the given name which are open.

Looking forward to the next post!</description>
		<content:encoded><![CDATA[<p>Ronald, excellent post!</p>
<p>I agree that some parts should be incorporated into the distribution (CreateTask/CancelTask classes &#8230; I&#8217;ve written them myself too in the past&#8230; )</p>
<p>I&#8217;m hoping that the WF pattern lovers once will see that (with a little creativity) many (if not all) patterns can be supported by jBPM.</p>
<p>My only remark is for the CancelTask: if there are other parallell paths which contain unfinished tasks, they are cancelled too&#8230; </p>
<p>For performance reasons, I would do a Hibernate call for retrieving the specific TaskInstances with the given name which are open.</p>
<p>Looking forward to the next post!</p>
]]></content:encoded>
	</item>
</channel>
</rss>
