Class CountDownProcessInstanceEventPublisher

  • All Implemented Interfaces:
    io.automatiko.engine.api.event.EventPublisher

    public class CountDownProcessInstanceEventPublisher
    extends Object
    implements io.automatiko.engine.api.event.EventPublisher
    Event publisher used for tracking execution to be able to efficiently wait for completion Main use case for it is testing of business logic
    • Constructor Detail

      • CountDownProcessInstanceEventPublisher

        public CountDownProcessInstanceEventPublisher()
    • Method Detail

      • publish

        public void publish​(io.automatiko.engine.api.event.DataEvent<?> event)
        Specified by:
        publish in interface io.automatiko.engine.api.event.EventPublisher
      • publish

        public void publish​(Collection<io.automatiko.engine.api.event.DataEvent<?>> events)
        Specified by:
        publish in interface io.automatiko.engine.api.event.EventPublisher
      • reset

        public void reset​(int count)
        Sets the count down latch to given number of process instance events.
        Parameters:
        count - number of expected events
      • waitTillCompletion

        public void waitTillCompletion​(long timeout)
                                throws InterruptedException
        Blocks the execution and wait for all expected process instance events to arrive
        Parameters:
        timeout - maximum amount of time (in seconds) it should wait
        Throws:
        InterruptedException - in case it was interrupted while waiting
      • waitTillCompletion

        public void waitTillCompletion​(long timeout,
                                       TimeUnit unit)
                                throws InterruptedException
        Blocks the execution and wait for all expected process instance events to arrive
        Parameters:
        timeout - maximum amount of time (in given time unit) it should wait
        unit - time unit of the given timeout
        Throws:
        InterruptedException - in case it was interrupted while waiting