xstream на движке приложений Google

Я знаю, что есть проблема с xstream в движке приложения Google из-за соображений безопасности. Я заметил, что несколько исправлений применяются, чтобы заставить его работать на gae для xstream. Может ли у кого-нибудь быть версия jar или есть какой-либо альтернативный способ сделать xml для java, кроме JAXP в Gae?


person infant    schedule 31.12.2010    source источник
comment
Меня тоже интересует это решение. Вы сами что-то нашли?   -  person user376112    schedule 25.01.2011


Ответы (2)


Из-за ограничений GAE вам необходимо:

  • измените поставщика отражения по умолчанию на PureJavaReflectionProvider
  • Опустите некоторые преобразователи объектов, которые автоматически регистрируются при создании экземпляра XStream, в первую очередь преобразователи классов AWT и Swing, а также преобразователь DynamicProxy.

Я опубликовал реализацию, построенную на основе XStream, которая делает ее совместимой с GAE. Исправление не требуется. Ссылка на реализацию находится здесь: http://www.wappworks.com/2011/11/11/using-xstream-with-google-app-engine/

person Chris Khoo    schedule 12.11.2011
comment
Эта реализация очень помогла мне. Однако мне пришлось добавить еще пару конвертеров, которые не были зарегистрированы. В моем случае: registerConverter(new EnumConverter(), PRIORITY_NORMAL); registerConverter (новый EnumSetConverter (сопоставитель), PRIORITY_NORMAL); registerConverter (новый EnumMapConverter (сопоставитель), PRIORITY_NORMAL); - person 0E322070; 30.01.2013
comment
@chris-koo Я попробовал ваше решение, но все еще получаю ошибки, вы можете мне помочь: stackoverflow.com/questions/15802986/ - person ; 04.04.2013

Теперь во вложениях для этого элемента JIRA есть банка: https://jira.codehaus.org/browse/XSTR-566

Кажется, он работает для сериализации в XML, но не обязательно наоборот.

К сожалению, патч, похоже, еще не интегрирован в официальные выпуски.

person Dave Elton    schedule 15.05.2012