List of usage examples for org.springframework.statemachine.recipes.tasks TasksHandler addTasksListener
public void addTasksListener(TasksListener listener)
From source file:org.springframework.statemachine.recipes.TasksHandlerTests.java
@Test public void testRunFailAndAutomaticFix() throws InterruptedException { TasksHandler handler = TasksHandler.builder().task("1", sleepRunnable()).task("2", sleepRunnable()) .task("3", failRunnable()).build(); TestTasksListener tasksListener = new TestTasksListener(); tasksListener.fix = true;/*from w ww . j a va2 s .c om*/ handler.addTasksListener(tasksListener); TestListener listener = new TestListener(); listener.reset(1, 0, 0); StateMachine<String, String> machine = handler.getStateMachine(); machine.addStateListener(listener); machine.start(); assertThat(listener.stateMachineStartedLatch.await(1, TimeUnit.SECONDS), is(true)); assertThat(listener.stateChangedLatch.await(2, TimeUnit.SECONDS), is(true)); assertThat(listener.stateChangedCount, is(1)); listener.reset(10, 0, 0); handler.runTasks(); assertThat(listener.stateChangedLatch.await(4, TimeUnit.SECONDS), is(true)); assertThat(listener.stateChangedCount, is(10)); assertThat(machine.getState().getIds(), contains(TasksHandler.STATE_READY)); }