Spring boot application
mvn clean compile install
docker-compose up --build
or
docker build
docker-compose up
http://localhost/api/swagger-ui/index.html
Реализация системы учета времени выполнения методов
Вам предстоит разработать систему учета времени выполнения методов в приложении с использованием Spring AOP. Система должна быть способна асинхронно логировать и анализировать данные о времени выполнения методов.
Создайте аннотации @TrackTime и @TrackAsyncTime, которые можно применять к методам для отслеживания времени их выполнения. Реализуйте аспекты, используя Spring AOP, для асинхронного и синхронного отслеживания времени выполнения методов, помеченных соответствующими аннотациями. Создайте сервис, который будет асинхронно сохранять данные о времени выполнения методов в базе данных. Реализуйте REST API для получения статистики по времени выполнения методов (например, среднее время выполнения, общее время выполнения) для различных методов и их групп. Настройте приложение с помощью конфигурации Spring для включения использования AOP и асинхронной обработки данных.
Правильное применение Spring AOP для создания аспектов. Корректное определение точек среза для методов, помеченных аннотациями @TrackTime и @TrackAsyncTime. Обработка исключений и ошибок в аспектах.
Асинхронное отслеживание времени выполнения методов, помеченных аннотацией @TrackAsyncTime. Корректная обработка результатов асинхронных операций.
Реализация сервиса для асинхронного сохранения данных о времени выполнения методов в базе данных. Корректное хранение данных в базе данных. Реализация механизма анализа данных для получения статистики по времени выполнения методов.
Создание REST API для получения статистики по времени выполнения методов. Корректная обработка запросов и передача данных в формате JSON. Документация API.
Чистота, читаемость и модульность кода. Соблюдение принципов SOLID и других принципов проектирования. Правильное использование паттернов проектирования.