SimpleMessageListenerContainer Bean не вызывается после первого сообщения в определенной очереди - PullRequest
0 голосов
/ 09 октября 2019

Я использую сообщения, а затем передаю их в taskexecutor. Мой MessageListener создает экземпляр компонента SimpleMessageListenerContainer, который, в свою очередь, создает экземпляры других компонентов (потребителя и т. Д.).

Когда я запускаю сервер Tomcat и отправляю сообщениясообщение, которое bean-компонент SimpleMessageListenerContainer вызывает корректно, но когда в той же очереди я отправляю другое сообщение, я вижу, что вызывается RabbitListenerEndpointContainer. В результате другие мои бобы не устанавливаются. Я получаю сообщение, но MDB не вызывается.

Когда я отправляю сообщение в другую очередь (без перезапуска), оно работает как положено.

Не вижу исключений, сообщающих, что слушатель выключен и т. Д. Есть ли имущество, которое мне не хватает?

Единственное, о чем я могу думать, это то, что первое сообщение не сформировано правильно, что приводит к некоторой проблеме.

Мой контейнерный компонент

<bean id="springListenerContainerCSWF"
class="org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer">
    <property name="connectionFactory" ref="cachingConnectionFactory" />
    <property name="queues" ref="rabbitDestinationCSWF" />
    <property name="messageListener" ref="rabbitMessageListenerCSWF" /> 
</bean>

Вот фрагмент журнала дляпервое и второе сообщение:

Сообщение 1 Журнал:

DEBUG org.springframework.amqp.rabbit.listener.BlockingQueueConsumer - Storing delivery for consumerTag: 'amq.ctag-Kidy_yvO5xOLL6_7SyuzBw' with deliveryTag: '1' in Consumer@1617944b: tags=[[amq.ctag-Kidy_yvO5xOLL6_7SyuzBw]], channel=Cached Rabbit Channel: AMQChannel(amqp://poc@10.165.1.11:5672/POC,2), conn: Proxy@58651bd2 Shared Rabbit Connection: SimpleConnection@1576020a [delegate=amqp://poc@10.165.1.11:5672/POC, localPort= 61774], acknowledgeMode=AUTO local queue size=0
18:44:29.704 [springListenerContainerABCD_ORDER-1] DEBUG org.springframework.amqp.rabbit.listener.BlockingQueueConsumer - Received message: (Body:'[B@3ac56714(byte[16757])' MessageProperties [headers={timestamp_in_ms=1570626869268}, timestamp=Wed Oct 09 18:44:29 IST 2019, contentLength=0, receivedDeliveryMode=NON_PERSISTENT, redelivered=false, receivedExchange=, receivedRoutingKey=Q.CSW.ABCD_PRODORDER.XYZ, deliveryTag=1, consumerTag=amq.ctag-Kidy_yvO5xOLL6_7SyuzBw, consumerQueue=Q.CSW.ABCD_PRODORDER.XYZ])
18:44:29.704 [springListenerContainerCSWF_ORDER-1] INFO 

    com.dell.ctm.queue.rabbitmessaging.RabbitMQListener - Received message for consumer: salesOrderConsumer
    1

8:44:29.704 [springListenerContainerABCD_ORDER-1] DEBUG com.dell.ctm.queue.rabbitmessaging.RabbitMQListener - Message :: Some Message

Сообщение 2 Журнал:

 DEBUG org.springframework.amqp.rabbit.listener.BlockingQueueConsumer - Storing delivery for consumerTag: 'amq.ctag-LDAzqxJDNlI-zjXQz0iiiQ' with deliveryTag: '1' in Consumer@568eb60e: tags=[[amq.ctag-LDAzqxJDNlI-zjXQz0iiiQ]], channel=Cached Rabbit Channel: AMQChannel(amqp://poc@10.161.1.11:5672/POC,7), conn: Proxy@58651bd2 Shared Rabbit Connection: SimpleConnection@1576020a [delegate=amqp://poc@10.165.1.11:5672/POC, localPort= 61774], acknowledgeMode=AUTO local queue size=0
    18:46:53.954 [org.springframework.amqp.rabbit.RabbitListenerEndpointContainer#0-1] DEBUG org.springframework.amqp.rabbit.listener.BlockingQueueConsumer - Received message: (Body:'[B@21865b3b(byte[16757])' MessageProperties [headers={timestamp_in_ms=1570627013570}, timestamp=Wed Oct 09 18:46:53 IST 2019, contentLength=0, receivedDeliveryMode=NON_PERSISTENT, redelivered=false, receivedExchange=, receivedRoutingKey=Q.CSW.ABCD_PRODORDER.XYZ, deliveryTag=1, consumerTag=amq.ctag-LDAzqxJDNlI-zjXQz0iiiQ, consumerQueue=Q.CSW.ABCD_PRODORDER.XYZ])
    18:46:54.018 [org.springframework.amqp.rabbit.RabbitListenerEndpointContainer#0-1] DEBUG org.springframework.amqp.rabbit.listener.adapter.MessagingMessageListenerAdapter - Processing [GenericMessage [payload=byte[16757], headers={amqp_receivedDeliveryMode=NON_PERSISTENT, amqp_receivedRoutingKey=Q.CSW.ABCD_PRODORDER.XYZ, timestamp_in_ms=1570627013570, amqp_deliveryTag=1, amqp_timestamp=Wed Oct 09 18:46:53 IST 2019, amqp_consumerQueue=Q.CSW.ABCD_PRODORDER.XYZ, amqp_redelivered=false, id=f55d83d9-88c0-6105-2d02-95e32ac5e57b, amqp_consumerTag=amq.ctag-LDAzqxJDNlI-zjXQz0iiiQ, timestamp=1570627014018}]]
    18:46:54.034 [org.springframework.amqp.rabbit.RabbitListenerEndpointContainer#0-1] INFO com.dell.ctm.queue.rabbitmessaging.RabbitMQListener - Received message for consumer: null
    18:46:54.034 [org.springframework.amqp.rabbit.RabbitListenerEndpointContainer#0-1] DEBUG com.dell.ctm.queue.rabbitmessaging.RabbitMQListener - Message :: Some Message

Этомоя фабрика соединений

  <bean id="rabbitListenerContainerFactory"
class="org.springframework.amqp.rabbit.config.SimpleRabbitListenerContainerFactory">
        <property name="connectionFactory">
            <ref bean="cachingConnectionFactory" />
        </property>
        <property name="concurrentConsumers" value="50" />
        <property name="maxConcurrentConsumers" value="100" />
        <property name="startConsumerMinInterval" value="3000" />
    </bean>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...