Мы используем весеннюю интеграцию для передачи сообщений от RabbitMQ1 другому брокеру RabbitMQ2. Это работает хорошо. Однако мы хотели бы использовать «publi sh подтверждение» rabbitmq, чтобы убедиться, что полученное шлюзом сообщение учитывается получателем перед переходом к следующему сообщению.
Ниже приведена схема c схема рабочего процесса, который мы хотели бы настроить для шлюза для каждого сообщения: шаги 1,2,3,4 перед переходом к следующему сообщению в очереди QUEUE_OUT.
Ниже конфигурации нашего java кода:
<!-- Channel definition -->
<int:channel id="channelRmqRmq">
</int:channel>
<!-- ********************* -->
<!-- Source RABBITMQ 1 -->
<!-- ********************* -->
<rabbit:connection-factory id="rabbitConnectionFactory" username="guest" password="guest" addresses="XX.XX.XX.XX" cache-mode="CONNECTION" connection-cache-size="50" virtual-host="/" />
<int-amqp:inbound-channel-adapter channel="channelRmqRmq" queue-names="QUEUE_OUT" connection-factory="rabbitConnectionFactory"
auto-startup="true" id="inboundChannelAdapter" channel-transacted="true"
concurrent-consumers="1" prefetch-count="40"
/>
<!-- ********************** -->
<!-- Destination RABBITMQ 2 -->
<!-- ********************** -->
<int-amqp:outbound-channel-adapter channel="channelRmqRmq" routing-key="rk1" exchange-name="amqp.direct" amqp-template="rabbitTemplate" default-delivery-mode="PERSISTENT" />
<rabbit:template id="rabbitTemplate" connection-factory="rabbitConnectionFactory" channel-transacted="true" message-converter="simpleMessageConverter"/>
<bean id="simpleMessageConverter" class="org.springframework.amqp.support.converter.SimpleMessageConverter">
<property name="createMessageIds" value="true" />
</bean>
<rabbit:connection-factory id="rabbitConnectionFactory" host="YY.YY.YY.YY" username="guest" password="guest" port="5672" cache-mode="CONNECTION" connection-cache-size="50" virtual-host="/" connection-limit="1"/>
Этого достаточно для соблюдения нашего рабочего процесса?
Входящие и исходящие объявляются с атрибутом channel-transacted = "true"?
На кролике: фабрика соединений доступны некоторые атрибуты:
- издатель-подтверждение
- издатель-возврат
- tx-size
Спасибо за вашу помощь
С уважением