handlerInvokers.computeIfAbsent(processorName, k -> new ArrayList<>()).add( c -> SimpleEventHandlerInvoker.builder() .eventHandlers(handlers) .parameterResolverFactory(configuration.parameterResolverFactory()) .listenerInvocationErrorHandler(listenerInvocationErrorHandler(
when(mockHandler.canHandle(any())).thenReturn(true); when(mockHandler.supportsReset()).thenReturn(true); eventHandlerInvoker = Mockito.spy(SimpleEventHandlerInvoker.builder().eventHandlers(mockHandler).build()); mockTransaction = mock(Transaction.class); mockTransactionManager = mock(TransactionManager.class);
@Before public void setUp() { tokenStore = spy(new InMemoryTokenStore()); mockHandler = mock(EventMessageHandler.class); when(mockHandler.canHandle(any())).thenReturn(true); eventHandlerInvoker = SimpleEventHandlerInvoker.builder() .eventHandlers(singletonList(mockHandler)) .sequencingPolicy(event -> { if (event instanceof DomainEventMessage) { return ((DomainEventMessage) event) .getSequenceNumber(); } return event.getIdentifier(); }) .build(); eventBus = EmbeddedEventStore.builder().storageEngine(new InMemoryEventStorageEngine()).build(); // A processor config, with a policy which guarantees segmenting by using the sequence number. configureProcessor(TrackingEventProcessorConfiguration.forParallelProcessing(2)); }
handlerInvokers.computeIfAbsent(processorName, k -> new ArrayList<>()).add( c -> SimpleEventHandlerInvoker.builder() .eventHandlers(handlers) .parameterResolverFactory(configuration.parameterResolverFactory()) .listenerInvocationErrorHandler(listenerInvocationErrorHandler(
/** * Sets the {@code eventHandlers} this {@link EventHandlerInvoker} will forward all its events to. If an event * handler is assignable to {@link EventMessageHandler} it will registered as is. If not, it will be wrapped by * a new {@link AnnotationEventHandlerAdapter}. * * @param eventHandlers an array of {@link Object}s which can handle events * @return the current Builder instance, for fluent interfacing */ public Builder eventHandlers(Object... eventHandlers) { return eventHandlers(detectList(eventHandlers)); }
SimpleEventHandlerInvoker eventHandlerInvoker = SimpleEventHandlerInvoker.builder() .eventHandlers(eventHandler) .listenerInvocationErrorHandler(PropagatingErrorHandler.INSTANCE) .build();
}; SimpleEventHandlerInvoker eventHandlerInvoker = SimpleEventHandlerInvoker.builder() .eventHandlers(eventHandler) .build(); SubscribingEventProcessor.builder()
.eventHandlers( (EventMessageHandler) eventHandler -> { if (readEvents.add(eventHandler.getIdentifier())) {
/** * Sets the {@code eventHandlers} this {@link EventHandlerInvoker} will forward all its events to. If an event * handler is assignable to {@link EventMessageHandler} it will registered as is. If not, it will be wrapped by * a new {@link AnnotationEventHandlerAdapter}. * * @param eventHandlers an array of {@link Object}s which can handle events * @return the current Builder instance, for fluent interfacing */ public Builder eventHandlers(Object... eventHandlers) { return eventHandlers(detectList(eventHandlers)); }
@Before public void setUp() { SimpleEventHandlerInvoker eventHandlerInvoker = SimpleEventHandlerInvoker.builder() .eventHandlers(this) .build(); eventProcessor = SubscribingEventProcessor.builder() .name("test") .eventHandlerInvoker(eventHandlerInvoker) .messageSource(eventBus) .build(); eventProcessor.start(); }
@Before public void setUp() { mockHandler = mock(EventMessageHandler.class); eventHandlerInvoker = SimpleEventHandlerInvoker.builder().eventHandlers(mockHandler).build(); eventBus = EmbeddedEventStore.builder().storageEngine(new InMemoryEventStorageEngine()).build(); testSubject = SubscribingEventProcessor.builder() .name("test") .eventHandlerInvoker(eventHandlerInvoker) .messageSource(eventBus) .build(); }