private String processorNameForProcessingGroup(String processingGroup) { ensureInitialized(); return processingGroupsAssignments.getOrDefault(processingGroup, defaultProcessingGroupAssignment .apply(processingGroup)); }
@Override public SagaStore sagaStore() { ensureInitialized(); return sagaStore.get(); }
@Override public List<SagaConfiguration<?>> sagaConfigurations() { ensureInitialized(); return sagaConfigurations.stream().map(sc -> sc.initialize(configuration)).collect(Collectors.toList()); }
@Override public Map<String, EventProcessor> eventProcessors() { ensureInitialized(); Map<String, EventProcessor> result = new HashMap<>(eventProcessors.size()); eventProcessors.forEach((name, component) -> result.put(name, component.get())); return result; }
@Override public List<MessageHandlerInterceptor<? super EventMessage<?>>> interceptorsFor(String processorName) { ensureInitialized(); return eventProcessor(processorName).map(EventProcessor::getHandlerInterceptors) .orElse(Collections.emptyList()); }
@Override public MessageMonitor<? super Message<?>> messageMonitor(Class<?> componentType, String eventProcessorName) { ensureInitialized(); if (messageMonitorFactories.containsKey(eventProcessorName)) { return messageMonitorFactories.get(eventProcessorName).create(configuration, componentType, eventProcessorName); } else { return configuration.messageMonitor(componentType, eventProcessorName); } }
@Override public ListenerInvocationErrorHandler listenerInvocationErrorHandler(String processingGroup) { ensureInitialized(); return listenerInvocationErrorHandlers.containsKey(processingGroup) ? listenerInvocationErrorHandlers.get(processingGroup).get() : defaultListenerInvocationErrorHandler.get(); }
@Override public RollbackConfiguration rollbackConfiguration(String componentName) { ensureInitialized(); return rollbackConfigurations.containsKey(componentName) ? rollbackConfigurations.get(componentName).get() : defaultRollbackConfiguration.get(); }
@Override public ErrorHandler errorHandler(String componentName) { ensureInitialized(); return errorHandlers.containsKey(componentName) ? errorHandlers.get(componentName).get() : defaultErrorHandler.get(); }
@SuppressWarnings("unchecked") @Override public <T extends EventProcessor> Optional<T> eventProcessorByProcessingGroup(String processingGroup) { ensureInitialized(); return Optional.ofNullable((T) eventProcessors().get(processorNameForProcessingGroup(processingGroup))); }
@Override public SequencingPolicy<? super EventMessage<?>> sequencingPolicy(String processingGroup) { ensureInitialized(); return sequencingPolicies.containsKey(processingGroup) ? sequencingPolicies.get(processingGroup).get() : defaultSequencingPolicy.get(); }
@Override public TokenStore tokenStore(String processorName) { ensureInitialized(); return tokenStore.containsKey(processorName) ? tokenStore.get(processorName).get() : defaultTokenStore.get(); }
@Override public TransactionManager transactionManager(String processingGroup) { ensureInitialized(); return transactionManagers.containsKey(processingGroup) ? transactionManagers.get(processingGroup).get() : defaultTransactionManager.get(); }
@Override public List<MessageHandlerInterceptor<? super EventMessage<?>>> interceptorsFor(String processorName) { ensureInitialized(); return eventProcessor(processorName).map(EventProcessor::getHandlerInterceptors) .orElse(Collections.emptyList()); }
@Override public Map<String, EventProcessor> eventProcessors() { ensureInitialized(); Map<String, EventProcessor> result = new HashMap<>(eventProcessors.size()); eventProcessors.forEach((name, component) -> result.put(name, component.get())); return result; }
@Override public SagaStore sagaStore() { ensureInitialized(); return sagaStore.get(); }
@Override public ListenerInvocationErrorHandler listenerInvocationErrorHandler(String processingGroup) { ensureInitialized(); return listenerInvocationErrorHandlers.containsKey(processingGroup) ? listenerInvocationErrorHandlers.get(processingGroup).get() : defaultListenerInvocationErrorHandler.get(); }
@Override public ErrorHandler errorHandler(String componentName) { ensureInitialized(); return errorHandlers.containsKey(componentName) ? errorHandlers.get(componentName).get() : defaultErrorHandler.get(); }
@SuppressWarnings("unchecked") @Override public <T extends EventProcessor> Optional<T> eventProcessorByProcessingGroup(String processingGroup) { ensureInitialized(); return Optional.ofNullable((T) eventProcessors().get(processorNameForProcessingGroup(processingGroup))); }
@Override public RollbackConfiguration rollbackConfiguration(String componentName) { ensureInitialized(); return rollbackConfigurations.containsKey(componentName) ? rollbackConfigurations.get(componentName).get() : defaultRollbackConfiguration.get(); }