java: Как в рантайм узнать откуда в коде выполняется обращение к элементам определенного пакета?

133
23 января 2020, 19:20

Необходимо узнать в рантайме откуда выполняется обращение, к элементам определенного пакета (com.data. *) и записать информацию в лог-файл.

В идеале по логом нужно будет понять откуда в коде вызывается метод любого класса из пакета com.data.*

Было бы неплохо посмотреть пример AOP (Aspectj) )

UPD:

Код который будет вызываться - модифицировать нельзя, как и тот код, который будет вызывать (поэтому я смотрю в стороны Aspectj)

На текущий момент есть идея: натравить Aspectj на пакет com.data и выдавать advice с записью в лог файл при обращении к пакету, а имя, вызывающего класса, брать из стэка вызова метода

по поводу производительности - пока не переживаем... Понятно, что это не увеличит производительность... Возможно, чтобы снизить нагрузку записи в файл - буду кэшировать названия вызывающих классов и методов и фильтровать их при выдаче advice.

READ ALSO
Не дать выйти курсору за пределы окна

Не дать выйти курсору за пределы окна

Хотел сделать 3d игру на javafx

132
Spring. @Transactional - исключение NoSuchBeanDefinitionException

Spring. @Transactional - исключение NoSuchBeanDefinitionException

Изучаю Spring, и сейчас я на этапе транзакцийСтали интересны именно транзакции Hibernate

149