Отражение на частном Throwable не допускается - PullRequest
0 голосов
/ 29 февраля 2012

Я использую движок приложения со Spring и получаю следующее исключение:

java.lang.SecurityException: java.lang.IllegalAccessException: Отражение не разрешено для частного java.lang.Throwable

Это происходит при сериализации результата контроллера с использованием ResponseBody:

@RequestMapping("/mapping")
public @ResponseBody
Response handleRequest(Request request) {

У объекта Response есть собственный Throwable с его геттерами и сеттерами.

ПочемуРазве Гэй не может размышлять об этом?

Ответы [ 2 ]

1 голос
/ 29 февраля 2012

Во-первых, исключение безопасности является ограничением для песочницы.Как правило, изолированному классу не разрешается использовать отражение для доступа к закрытым членам другого класса.(По уважительной причине).Предположительно, GAE либо сам по себе изолирован, либо изолированен от ваших классов.

Так почему же это происходит , когда у вас есть геттеры и сеттеры для частного поля?

Я думаю,что сигнатуры для методов получения и / или установки не точно соответствуют имени и типу частного поля.Или, возможно, они не доступны.Проверьте это.Если это не поможет, попробуйте в качестве эксперимента сделать частное поле Throwable общедоступным (ick).

0 голосов
/ 29 февраля 2012

Вы должны сделать поля защищенными или общедоступными, чтобы использовать их с Reflection on GAE.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...