update(REQ-2516) - 完善广播消息的 Bean 自动注册逻辑,以及唯一化命名

This commit is contained in:
wangli 2024-06-14 10:54:38 +08:00
parent fbdd24e8ea
commit 069f11a713

View File

@ -54,16 +54,16 @@ public class StarterBroadcastMQConfiguration {
//================================= Workflow Engine Broadcast MQ =================================// //================================= Workflow Engine Broadcast MQ =================================//
@Bean @Bean
@ConditionalOnMissingBean(EventHandlerRepository.class) @ConditionalOnMissingBean(value = EventHandlerRepository.class, name = "broadcastEventHandlerRepository")
public EventHandlerRepository eventHandlerRepository() { public EventHandlerRepository broadcastEventHandlerRepository() {
return new EventHandlerRepository((ex, logText) -> { return new EventHandlerRepository((ex, logText) -> {
log.warn("Workflow Engine Starter MQ, handle warning {}", logText, ex); log.warn("Workflow Engine Starter MQ, handle warning {}", logText, ex);
}); });
} }
@Bean @Bean
@ConditionalOnMissingBean(EventProducer.class) @ConditionalOnMissingBean(value = EventProducer.class, name = "broadcastEventConsumer")
public EventConsumer eventConsumer(EventHandlerRepository eventHandlerRepository) { public EventConsumer broadcastEventConsumer(@Qualifier("broadcastEventHandlerRepository") EventHandlerRepository eventHandlerRepository) {
Consumer<EventConsumer.EventWrapper> callback = eventWrapper -> { Consumer<EventConsumer.EventWrapper> callback = eventWrapper -> {
if (eventWrapper.isHandled()) { if (eventWrapper.isHandled()) {
// 只收集被App真正消费的消息. // 只收集被App真正消费的消息.
@ -116,7 +116,7 @@ public class StarterBroadcastMQConfiguration {
} }
@Bean @Bean
public WorkflowEngineBroadcastEventListener workflowEngineBroadcastEventListener(@Qualifier("eventConsumer") EventConsumer eventConsumer, public WorkflowEngineBroadcastEventListener workflowEngineBroadcastEventListener(@Qualifier("broadcastEventConsumer") EventConsumer eventConsumer,
WorkflowEngineStarterProperties workflowEngineStarterProperties, WorkflowEngineStarterProperties workflowEngineStarterProperties,
List<InnerWorkflowListener> listenerProvider) { List<InnerWorkflowListener> listenerProvider) {
return new WorkflowEngineBroadcastEventListener(eventConsumer, workflowEngineStarterProperties, listenerProvider); return new WorkflowEngineBroadcastEventListener(eventConsumer, workflowEngineStarterProperties, listenerProvider);