TiPi - Transactional Processing is an embedded library that provides Transactional Processing out of the box Writing process is done entirely in Java, no XML, etc... Transaction is also builtin so a process is either passed ans state is updated to OK or failed, operations are rollback and state is updated to ERROR In error processes ca be retried at will.
pom.xml
<dependency>
<groupId>ch.sharedvd.tipi</groupId>
<artifactId>tipi-starter</artifactId>
<version>1.0.5</version>
</dependency>
@TipiTopProcess(description = "exploitation.deployer deployment")
public class ExplDeplDeployTopProcess extends TopProcess {
@Override
protected ActivityResultContext execute() throws Exception {
... some actions
return new FinishedActivityResultContext();
}
}
@Autowired
private TipiFacade tipiFacade;
...
public void myMethod() {
...
long processId = tipiFacade.launch(ExplDeplDeployTopProcess.class, new VariableMap());
...
}
You can query the state of the processes with TipiQueryFacade
TipiCriteria criteria = new TipiCriteria(); // empty criteria -> all
TipiQueryFacade.searchActivities(criteria, -1)
TipiCriteria criteria = new TipiCriteria();
criteria.setNameOrProcessName("ExplDeplDeployTopProcess");
TipiQueryFacade.searchActivities(criteria, -1)
TipiCriteria criteria = new TipiCriteria();
criteria.setNameOrProcessName("ExplDeplDeployTopProcess");
TipiQueryFacade.searchActivities(criteria, 10)
Returns only the 10 first found processes
mvn release:prepare
mvn release:perform
Then to see errors:
Login with Sonatype JIRA account