Гость
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Вызов метода прокси объекта через рефлексию / 2 сообщений из 2, страница 1 из 1
20.11.2020, 03:23
    #40020658
OleOleMGT
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов метода прокси объекта через рефлексию
Здравствуйте.

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

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

Код: java
1.
Object findById = someObject.getClass().getMethod("findById", Long.class).invoke(someObject, Long.valueOf(8313));



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

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

Код: java
1.
2.
3.
Arrays.stream(someObject.getClass().getMethods()).forEach(method -> {
      System.out.println(method.getName());
 });
...
Рейтинг: 0 / 0
20.11.2020, 09:57
    #40020696
OleOleMGT
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов метода прокси объекта через рефлексию
Вопрос закрыт. Абсолютно забыл про стиранием типов в джаве. Реальная сигнатура метода оказалась такой:
Код: java
1.
 findById(java.lang.Object)

, поэтому у меня и была ошибка.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Вызов метода прокси объекта через рефлексию / 2 сообщений из 2, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]