Я успешно настроил через Java адаптер входящего канала для AWS SQS, используя прямой канал. Этот проект использует комбинацию JDBC и RabbitMQ с SQS в качестве входящего потока для 3 отдельных очередей. Мне нужны надежные сообщения, поэтому я пытаюсь понять, как использовать RabbitMQ. Я запутался в том, как ссылаться на канал AMQP. Как мне обратиться к каналу сообщений AMQP из setOutPutChannel? Моя цель - удалить сообщение из SQS только в том случае, если сообщение успешно опубликовано в долговременной очереди RabbitMQ.
@Bean
public MessageProducer getSQSChannel() {
SqsMessageDrivenChannelAdapter adapter = new SqsMessageDrivenChannelAdapter(this.amazonSqs, MY_SQS_QUEUE);
adapter.setOutputChannel(????);
return adapter;
}
@Bean
public AmqpChannelFactoryBean messageDriven(ConnectionFactory connectionFactory) {
AmqpChannelFactoryBean factoryBean = new AmqpChannelFactoryBean(true);
factoryBean.setConnectionFactory(connectionFactory);
factoryBean.setQueueName("bar");
factoryBean.setPubSub(false);
return factoryBean;
}