Spring Controller не рассматривается как синглтон - PullRequest
0 голосов
/ 13 февраля 2020

Мы диагностировали явную утечку памяти в приложении Spring Boot. Мы не смогли найти ничего, что выделялось в нашем коде, но с помощью профилировщика памяти VisualVM мы обнаружили что-то странное. Когда запрос контролируется контроллером, создается новый экземпляр этого контроллера. Как указано ниже, эти контроллеры должны быть синглетонами. Кроме того, эти лишние экземпляры никогда не собираются мусором и продолжают накапливаться. На эти контроллеры нигде в коде нет ссылок, и они создаются только тем, что Spring magi c создает в первую очередь.

Поэтому мой вопрос: что может вызвать запуск компонента Spring, подобного этому? и как мне потенциально go отладить его?

Ниже приведены аннотации класса.

@Slf4j
@Validated
@RestController
@RequestMapping("profile")
public class ProfileController {
    ...
}

1 Ответ

0 голосов
/ 22 февраля 2020

Проблема была прерывистой. После перезагрузки компьютера, на котором он работал, проблема исчезла.

Для тех, кому интересно, источником проблемы оказалась утечка потока.

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