После визуализации моего потока (используя этот отличный проект, кстати), я заметил, что сразу после моего router
вставлено bridge
компонентов (вместе с DirectChannel
s):
Моя конфигурация DSL:
.route(Message.class, messageTypeHeader(), mapping -> mapping
.id("filteringRouterEndpoint")
.resolutionRequired(false)
.defaultSubFlowMapping(rejectedByFiltersFlow)
.subFlowMapping(MessageType.TYPE_1, s -> s
.channel("type1MappingChannel")
.filter(type1MappingFilter)
.channel(ACCEPTED_BY_FILTERS_CHANNEL_NAME))
.subFlowMapping(MessageType.TYPE_2, s -> s
.channel("type2MappingChannel")
.filter(type2MappingFilter)
.channel(ACCEPTED_BY_FILTERS_CHANNEL_NAME))
.subFlowMapping(MessageType.TYPE_3, s -> s
.channel("type3MappingChannel")
.filter(type3MappingFilter)
.channel(ACCEPTED_BY_FILTERS_CHANNEL_NAME)))
(некоторые имена отличаются от потока, просто для упрощения)
Я заметил, что если я не указываю каналы явно в начале подпотоков отображения (т. Е. typeXMappingChannel
s), то мосты не создаются:
, но я хочу сам указать каналы, просто чтобы знать их точное название или иметь, например, реализацию, отличную от DirectChannel
.
В чем причина?А может я что-то не так сделал в своей конфигурации?