Весенняя интеграция Jms.inboundGateway очень медленная по сравнению с JmsListener - PullRequest
0 голосов
/ 15 мая 2018

Я вижу снижение производительности при использовании пружинной интеграции

IntegrationFlows.from(Jms.inboundGateway(connectionFactory)
                        .destination("orderQueue")
                        .jmsMessageConverter(new MarshallingMessageConverter(jaxbMarshaller()))
                       .transform(orderTransformer)
                       .handle(orderService, "saveOrder")
                       .get();

тот же код с использованием JmsListener работает лучше

 @JmsListener(destination = "orderQueue")
 public void receiveMessage(Message message) throws IOException {
    Order order = (Order)jaxb2Marshaller.unmarshal(new StringSource(((TextMessage) message).getText()));
        OrderDetails orderDetails = orderTransformer.transform(order);
        orderService.saveOrder(orderDetails);
 }

может кто-нибудь помочь, что нужно настроить в интеграции с пружиной, чтобы это хорошо работало.

1 Ответ

0 голосов
/ 15 мая 2018

Вы не сравниваете яблоки с яблоками.Вы @JmsListener - односторонний обработчик, в соответствии с типом возврата void.Входящий шлюз для сценариев запроса-ответа

Оттуда я предполагаю, что вы действительно ничего не возвращаете из своего последнего обработчика.Там поток JMS заблокирован ни за что.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...