spring 消息 xml 配置的等效 Java 配置

Equivalent Java Config for spring messaging xml config

我正在尝试使用 rabbitMQ 实现 spring 批量远程分块。我关注这个link

这个

的等效java配置是什么
<int:channel id="requests"/>
<int:channel id="replies"/>

<int-jms:message-driven-channel-adapter id="jmsIn"
    destination-name="requests"
    channel="requests"/>

<int-jms:outbound-channel-adapter id="outgoingReplies"
    destination-name="replies"
    channel="replies">
</int-jms:outbound-channel-adapter>

入站:

@Bean(AMQP_INPUT_CHANNEL)
public MessageChannel amqpInputChannel() {
    return new DirectChannel();
}

@Bean
public AmqpInboundChannelAdapter inbound(SimpleMessageListenerContainer listenerContainer,  
                                         @Qualifier(AMQP_INPUT_CHANNEL) MessageChannel channel,
                                         Jackson2JsonMessageConverter messageConverter) {
    AmqpInboundChannelAdapter adapter = new AmqpInboundChannelAdapter(listenerContainer);   
    adapter.setMessageConverter(messageConverter);      
    adapter.setOutputChannel(channel);
    return adapter;
}

@Bean
public SimpleMessageListenerContainer container(ConnectionFactory connectionFactory) {
    SimpleMessageListenerContainer container = new SimpleMessageListenerContainer(connectionFactory);   
    container.setConcurrentConsumers(5);        
    container.setQueueNames("Queue_Name");          
    return container;
}

对于出站:

@Bean
public MessageChannel amqpOutboundChannel() {
    return new DirectChannel();
}

@Bean
@ServiceActivator(inputChannel = "amqpOutboundChannel")
public AmqpOutboundEndpoint amqpOutbound(AmqpTemplate amqpTemplate) {
    AmqpOutboundEndpoint outbound = new AmqpOutboundEndpoint(amqpTemplate);
    outbound.setRoutingKey("ERROR-QUEUE");
    return outbound;
}

@MessagingGateway(defaultRequestChannel = "amqpOutboundChannel")
public interface BatchServiceMessagingGateway {
    void sendMessage(String data);
}