Перехват всего класса с помощью стандартных функций Java

Я хочу перехватить целый класс со стандартными функциями Java, потому что мне не разрешено добавлять новые зависимости в проект (websphere 85).

Я хочу вызвать функцию, которая выполняет несколько вызовов API (генерируется чванство), например, myapi.bla(), myapi.blabla() и т. д., и получать заголовки из ответа.
Я думал о перехвате всех методов класс "myapi", а затем получить доступ к заголовкам (myapi.getApiClient.getResponseheaders).

Знаете ли вы, как перехватить все методы класса со встроенными функциями java или websphere85? Благодарю вас!


person user117788    schedule 02.01.2020    source источник


Ответы (1)


Есть заметно 2 способа добиться этого,

  1. AOP, вы можете использовать AspectJ для достижения этого, который в основном изменяет класс для внедрения перехватов либо во время компиляции, либо во время загрузки. Пример.

  2. Динамический прокси-сервер. Хорошее объяснение того, как его использовать, на примере. Хотя это сказывается на производительности.

person Adwait Kumar    schedule 02.01.2020