JBPM流程更新

看到這一段真讓人心寒啊...

16.1.4. Migrating process instances
An alternative approach to changing process definitions might be to convert the executions to a new process definition. Please take into account that this is not trivial due to the long-lived nature of business processes. Currently, this is an experimental area so for which there are not yet much out-of-the-box support.

As you know there is a clear distinction between process definition data, process instance data (the runtime data) and the logging data. With this approach, you create a separate new process definition in the jBPM database (by e.g. deploying a new version of the same process). Then the runtime information is converted to the new process definition. This might involve a translation cause tokens in the old process might be pointing to nodes that have been removed in the new version. So only new data is created in the database. But one execution of a process is spread over two process instance objects. This might become a bit tricky for the tools and statistics calculations. When resources permit us, we are going to add support for this in the future. E.g. a pointer could be added from one process instance to it's predecessor.

JBPM把流程的轉向通過 taskInstance.end(transitionName)來實現, 那不是意味着流程一變, 很多handler就要跟到變?

在TaskNode定義的event上寫Script可能是一個齷齪的辦法. 有沒有更好的辦法解決?

簡單的說,就是業務程序並不關心我到底要走哪個具體的transition的名字,這些都交給流程本身來完成. 這樣流程即使更新,業務程序也不需要修改.
發佈了23 篇原創文章 · 獲贊 0 · 訪問量 1074
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章