Используйте Apache Camel для ведения огня и забудьте HTTP-запрос

Я хотел бы знать, возможно ли запустить HTTP POST-запрос, забыть и не ждать, пока вы получите ответ. Я не уверен, стоит ли использовать HTTP-компонент или AHC, я думаю, AHC более удобен для моего сценария.

Я использую Apache Camel 2.12.1 и Spring XML. Если возможно, как я могу этого достичь?

Спасибо!

1 ответ

Решение

Выбор компонентов http4 и ahc Camel зависит не от асинхронности, а от производительности при большой нагрузке. Говорят иначе, если ваша частота запросов мала или средняя, ​​достаточно компонента http4.

Есть несколько способов добиться "запросить и забыть", каким бы ни был целевой компонент:

  • Используйте ProducerTemplate#asyncSend для создания обмена только по запросу http://camel.apache.org/async.html
  • Используйте компонент SEDA с параметром waitForTaskToComplete, установленным в значение Никогда. Http://camel.apache.org/seda.html.

В обоих случаях запрос будет выполнен в отдельном потоке, поэтому вызывающая сторона не будет ждать.

Другие вопросы по тегам