2015-04-22 3 views
0

Мы используем avaje-agentloader для улучшения наших ebeans. Все эбебы находятся в одном пакете. Мы включаем загрузчик, агент & базовой библиотеку ebean в нашем проекте (через SBT):Усовершенствование Ebean не учитывает модель

"org.avaje" % "avaje-agentloader" % "1.1.2", 
"org.avaje.ebeanorm" % "avaje-ebeanorm" % "4.5.5", 
"org.avaje.ebeanorm" % "avaje-ebeanorm-agent" % "4.5.2", 

Однако, когда погрузчик работает аксессуар, он пропускает ОДНУ ebean.

Каждый ebean аннотируется @Entity и распространяется com.avaje.ebean.Model. Кажется, что нет различий между теми, которые получают усиление, и тем, который этого не делает. Нет никаких дополнительных включений или расширений и т. Д.

В принципе, мне интересно, имел ли кто-нибудь этот вопрос в прошлом или имеет какие-либо идеи.

Вещи, которые мы уже пробовали:

  • с указанием фактических классов быть повышена с помощью serverConfig.setClasses(...)
  • с указанием pakages для анализа/усиления с помощью serverConfig.addPackage(...) или setPackages(...)
  • не указывая на все и с загрузчиком анализировать все ,
  • мы установили точку останова на Transformer.transform, и этот компонент никогда не попадает в цель.

Примечание: если мы используем агент ebean через загрузчик агента в командной строке или через плагин maven или sbt, он работает.

+0

Я должен уточнить, что он, кажется, каждый раз игнорирует ту же модель. В пакете есть 11 фасолей/моделей, и каждый раз он пропускает один и тот же (не первый или последний). –

ответ

0

Хорошо, поэтому я разместил это на Ebean group в Google Groups, а также Rob Bygrave ответил, объяснив несколько вещей. (Читать его ответ here)

  1. serverConfig.setXXX не имеют ничего общего с ebean аксессуара.
  2. Похоже, что компонент загружается до загрузки агента.

Он был прав, действительно, модель/фасоль загружается задолго до агента. Поэтому мы отслеживаем почему.

Проблема заключается в том, что агент не улучшает компоненты, которые уже были загружены ClassLoader (имеет смысл). он упомянул, что мы могли бы "Измените агент Ebean, чтобы он также поддерживал 'переопределение класса'".

 Смежные вопросы

  • Нет связанных вопросов^_^