2016-03-24 3 views
0

У меня возникли проблемы с попыткой интегрировать и работать с MyBatis и Javers (с Spring). Я выполнил инструкции на http://javers.org/documentation/spring-integration/ и получил настройку Aspect и аннотировал класс сущности и зарегистрировал его с помощью Javers, а интерфейс MyBatis правильно аннотировал с помощью @Repository и @JaversAuditable по соответствующим методам, но до сих пор не получил работу , даже устанавливая точки останова в аспекте Хавэрса, но ничего не запускается.Необходима интеграция интеграции Javers и MyBatis

Я также обошел это другим способом, используя перехватчик плагинов MyBatis, согласно http://www.mybatis.org/mybatis-3/configuration.html#plugins (затем в качестве базового примера для коммитов использовался http://www.mybatis.org/spring/xref-test/org/mybatis/spring/ExecutorInterceptor.html). Однако, пока он запускается, он не делает то, что я ожидал, и в основном это всего лишь аспект вокруг метода фиксации, который берет логическое, а не содержит, какой объект (ы) совершается, что позволит мне передать их в Javers. Я полагаю, что я мог бы добавить перехватчик в методах обновления/вставки MyBatis, а затем сохранить это в ThreadLocal или подобном, чтобы при вызове commit/rollback я мог передавать его в Javers по мере необходимости, но это беспорядочно.

У меня нет ни малейшего понятия, куда идти отсюда, если кто-то не увидит то, что я пропустил одним из этих двух методов.

ответ

0

Итак, в моем замешательстве я понял, что, поскольку MyBatis генерирует конкретный объект для интерфейсов Mapper, Spring никогда не кажется созданием этого объекта, просто имеет конечный объект, зарегистрированный как компонент в контексте. Таким образом, у Хавьера никогда не будет возможности обработать Бин, поскольку он создан для того, чтобы делать какие-либо проксирования или что не так необходимо.

Итак, глупо меня. Поэтому я создал слой Spring-Data @Repository, который в основном просто передает вызов в Mapper. Хотя при обновлениях я делаю несколько дополнительных битов, которые слой DAM (как я его называю) хорошо работает.

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

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