Назад к вопросам
Middle
12
Если из бина C вызывается метод бина A с аспектом логирования, а внутри A вызываются приватные методы B, C, D — залогируются ли вызовы B, C, D?
Компании, где спрашивали
Позитив Технолоджис
Ответ от нейросети
sobes.tech AI
Если метод бина A с аспектом логирования вызывается из бина C, то вызов самого метода A будет залогирован, так как аспект срабатывает на публичный метод A.
Однако, если внутри метода A вызываются приватные методы B, C, D, то эти вызовы не будут автоматически залогированы аспектом, если аспект настроен только на публичные методы и применяется через прокси.
Причина в том, что вызовы приватных методов внутри класса происходят напрямую, минуя прокси, и аспекты не перехватывают внутренние вызовы методов того же класса.
Таким образом, для логирования вызовов приватных методов нужно либо:
- Сделать эти методы публичными или защищёнными и настроить аспект на них,
- Либо вызывать их через прокси,
- Либо добавить логирование вручную внутри этих методов.