powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Вызов метода прокси объекта через рефлексию
2 сообщений из 2, страница 1 из 1
Вызов метода прокси объекта через рефлексию
    #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
Вызов метода прокси объекта через рефлексию
    #40020696
OleOleMGT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос закрыт. Абсолютно забыл про стиранием типов в джаве. Реальная сигнатура метода оказалась такой:
Код: java
1.
 findById(java.lang.Object)

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


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