Я работаю над созданием динамического прокси-сервера на конкретных классах. Поскольку простой прокси-класс java помогает только с интерфейсами, я выбрал CGLIb.
Я использую класс Enhancer с MethodInterceptor для перехвата методов моего прокси-сервера, и я могу перехватить все вызовы методов, но статические методы.
Есть ли способ перехватить вызовы на статические методы с использованием CGLIb?Перехватить статические методы cglib
1
A
ответ
1
Это не возможно, классы cglib instruments, создав подкласс, где все методы переопределены для применения логики перехвата. Это невозможно для статических методов, так что cglib не поддерживает это.
Спасибо! Есть ли другой способ выполнить статическую аппаратуру без изменения библиотеки методов. Я понимаю, что с помощью Java мы можем переписать метод с новым определением. Но я не хочу использовать javaassist. –
Вы можете взглянуть на Javassist и Byte Buddy. Оба позволяют переопределить класс для этого. –