Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
 Вызов метода прокси объекта через рефлексию  [new]
OleOleMGT
Member

Откуда:
Сообщений: 9
Здравствуйте.

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

Создал интерфейс SomeInterface extends JpaRepository<SomeObject, Long>. JpaRepository - интерфейс спринга. В переменную этого типа someObject, спринг сетит прокси. Пытался наивно сделать так:

Object findById = someObject.getClass().getMethod("findById", Long.class).invoke(someObject, Long.valueOf(8313));


Падал с ошибкой: java.lang.NoSuchMethodException: com.sun.proxy.$Proxy117.findById(java.lang.Long)

Хотя в списке методов он имеется:

Arrays.stream(someObject.getClass().getMethods()).forEach(method -> {
      System.out.println(method.getName());
 });
20 ноя 20, 03:23    [22235824]     Ответить | Цитировать Сообщить модератору
 Re: Вызов метода прокси объекта через рефлексию  [new]
OleOleMGT
Member

Откуда:
Сообщений: 9
Вопрос закрыт. Абсолютно забыл про стиранием типов в джаве. Реальная сигнатура метода оказалась такой:
 findById(java.lang.Object)
, поэтому у меня и была ошибка.
20 ноя 20, 09:57    [22235887]     Ответить | Цитировать Сообщить модератору
Все форумы / Java Ответить