Java протоколирование времени отклика шлюза интеграции пружин - PullRequest
0 голосов
/ 30 марта 2020

Я использую шлюз весенней интеграции для предоставления службы отдыха. У него настроены канал запроса и канал ответа. Я ищу конфигурацию, которая дает мне время, затрачиваемое на каждую операцию отдыха.

Ниже приведена конфигурация шлюза:

<int:gateway id="testServiceGateway"
         service-interface="com.test.ws.TransactionServices"
         default-reply-time-out="5000"
         error-channel="txErrorChan">
     <int:method name="evaluateTransaction"
             request-channel="tranRequestChan"
             reply-channel="tranResponseChan"
             reply-time-out="3000" />
</int:gateway>

Например: я использовал пользовательскую цепочку запроса-обработчика-запроса для kafka-outbound-channel-adapter. Ищете что-то подобное для шлюза?

1 Ответ

0 голосов
/ 30 марта 2020

Поскольку вы говорите о вызове REST, вы, вероятно, можете подумать об использовании инструмента tracing , такого как Spring Cloud Sleuth: https://cloud.spring.io/spring-cloud-static/spring-cloud-sleuth/2.2.2.RELEASE/reference/html/#http -клиент-интеграция

Хотя для такого простого варианта использования я бы просто взял текущее время перед вызовом этого метода TransactionServices.evaluateTransaction() и после, чтобы рассчитать весь период вызова.

Вы также можете следовать моим рекомендациям в упомянутом ответе для Spring Integration - Время, необходимое для обработки всего файла . Таким образом, вы можете вставить заголовок startTime в перехватчик для tranRequestChan и вычислить в перехватчике для tranResponseChan.

Другой способ - использовать метрику микрометра для каналов или MessageHandler s: https://docs.spring.io/spring-integration/docs/current/reference/html/system-management.html#mgmt -канал-функции

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