Привод пружинной загрузки - реализация пользовательских метрик - PullRequest
0 голосов
/ 05 декабря 2018

Я бы хотел внедрить пользовательский показатель или статистику в мой веб-сервис с остальной загрузкой с использованием привода, но я не могу найти простые учебные пособия.Например:

  • как показать, сколько раз был вызван определенный контроллер и какое поле параметра было заполнено?
  • как создать метрику, которая при вызове его URL-адреса,он запускает определенный запрос и показывает JSON с некоторым результатом

Ответы [ 2 ]

0 голосов
/ 26 декабря 2018

Для второго пункта решение состоит в том, чтобы создать класс конечной точки (это может быть или нет класс контроллера покоя).Например:

@Component
@RestControllerEndpoint(id = "pfm-statistics")
public class StatisticsEndpoint {
  @GetMapping(value = "/", produces = "application/vnd.openxmlformats- 
     officedocument.spreadsheetml.sheet")
  @ResponseBody
  public byte[] generateStatisticsAsExcel() {
 ...

Обратите внимание, что идентификатор - это путь, который будет вызываться из URL.Мы также можем создать простую конечную точку и просто вернуть строку, если захотим.В этом случае вместо аннотации @RestControllerEndpoint мы можем использовать @Endpoint, в качестве примечания, идентификатор всегда должен содержать тире

0 голосов
/ 06 декабря 2018

Это похоже на хороший сценарий для AOP (Аспектно-ориентированное программирование) , поскольку это позволит вам отделить эту статистическую логику от бизнес-логики.

Посмотрите на Spring doc длябольше информации о AOP и как этого добиться с помощью Spring.

Затем вы можете определить pointcut на вашем контроллере и иметь сервис для подсчета (и, возможно, затем сохранения) данных.

См. нижессылка AOP Пример

...