@Test public void shouldProvideEventsMultipleWorkHandlers() throws Exception { final TestWorkHandler workHandler1 = createTestWorkHandler(); final TestWorkHandler workHandler2 = createTestWorkHandler(); final TestWorkHandler workHandler3 = createTestWorkHandler(); final TestWorkHandler workHandler4 = createTestWorkHandler(); final TestWorkHandler workHandler5 = createTestWorkHandler(); final TestWorkHandler workHandler6 = createTestWorkHandler(); final TestWorkHandler workHandler7 = createTestWorkHandler(); final TestWorkHandler workHandler8 = createTestWorkHandler(); disruptor .handleEventsWithWorkerPool(workHandler1, workHandler2) .thenHandleEventsWithWorkerPool(workHandler3, workHandler4); disruptor .handleEventsWithWorkerPool(workHandler5, workHandler6) .thenHandleEventsWithWorkerPool(workHandler7, workHandler8); }
@Test public void shouldSupportUsingWorkerPoolWithADependency() throws Exception { final TestWorkHandler workHandler1 = createTestWorkHandler(); final TestWorkHandler workHandler2 = createTestWorkHandler(); final DelayedEventHandler delayedEventHandler = createDelayedEventHandler(); disruptor.handleEventsWith(delayedEventHandler).thenHandleEventsWithWorkerPool(workHandler1, workHandler2); publishEvent(); publishEvent(); delayedEventHandler.processEvent(); delayedEventHandler.processEvent(); workHandler1.processEvent(); workHandler2.processEvent(); }