Hi Everyone,
I am building a application with have modular logics inside, e.g. logic A, B, C, D. A typical user will summit his/her desired way of how to use these logics, telling the application whether he/she wants A->B->C->D or D->B->A->C by drawing and organizing these serviceTasks in the activiti explorer.
Now here comes the problem:
I want to add in a feature to allow users to "define" the boudary of transactions. We do not want the whole process of A->B->C->D to roll back and start over if it fails halfway. What we want is to be able to tell the Activiti Engine that there is a boundary between B and C so that if C or D fails, task B will not be repeated, and the process will just starts over from C instead of A.
Now, I have read the user guide of Activiti and found that I can put a @Transactional tag when using Spring integration. All the thing you do inside that tag can be rolled back if it fails. Now, I am not sure how to implement the feature I mentioned above, so I wonder if anybody can help. I also worries that @Transactional is more of a hard-coded way to do this, and it will not be easy to let the user determine boundaries flexibly. I wonder whether there is some better way to do this, like, for example, to put a <transaction></transaction> tag inside the .bpmn file to set the boundary?
Please help ASAP, thanks!