Существуют ли какие-либо средства миграции EJB для миграции EJB 2.1 на EJB 3.x?

Может быть, лучший способ сделать это вручную. Но в большом проекте вам нужен какой-то инструмент, который поможет вам. Именно эта идея привела меня к поиску инструмента.

Существуют ли какие-либо средства миграции EJB для миграции EJB 2.0 на 3.x.


person Kayser    schedule 12.04.2012    source источник


Ответы (3)


Он находился в разработке только в течение короткого времени, но какое-то время у нас был подключаемый модуль eclipse, который читал файлы ejb-jar.xml, а затем обновлял исходный код и вставлял аннотации.

Его использовал несколько раз человек, который его написал (Джонатан Галлимор), и, может быть, еще один или два раза после. По крайней мере, тогда это сработало, и если вы не боитесь закатать рукава, это может сэкономить вам недели времени.

Хотя я лично не использовал его, я наблюдал за его разработкой. Короче говоря, есть xml-версии всех аннотаций (100% линейка). Контейнер EJB должен эффективно читать XML, а затем заполнять пробелы данными аннотаций. Данные xml превосходят данные аннотаций, поэтому эта обработка в основном представляет собой преобразование аннотаций в xml. Мы взяли код обработки аннотаций/xml OpenEJB и перевернули его таким образом, чтобы вместо преобразования аннотаций в xml мы превратили xml в аннотации — аннотации, которые затем можно легко вставить обратно в исходный код через API-интерфейсы eclipse.

Если он работает, он должен работать отлично и не должен изменять логику вашего приложения. Просто преобразование xml->annotation для ваших данных дескриптора.

У вас по-прежнему будут представления EJB 2.x, но они будут настроены в виде аннотаций в вашем коде.

Однако, прежде чем делать что-либо подобное, я бы настроил модульные тесты для кода EJB 2.x, используя API EJBContainer, как упоминалось в другом вопросе. Затем используйте инструмент преобразования. Затем выполните рефакторинг представлений EJB 2.x, теперь вам не нужно постоянно возиться с xml.

Итак, в основном:

  • Добавьте тесты для существующего кода
  • Конвертировать с помощью плагина xml->annotation Eclipse (запустить тесты)
  • Преобразование представлений EJB 2.x в представления EJB 3.x @Local или @LocalBean (запуск тестов)

Следуйте по этому пути, и у вас должен быть счастливый переход от EJB 2.x к 3.x. Ну, настолько блаженной, насколько эта работа может быть по крайней мере :)

person David Blevins    schedule 13.04.2012

Да, инструменты рефакторинга IntelliJ EJB: http://www.jetbrains.com/idea/webhelp/migrating-to-ejb-3-0.html

Но я уверен, что это не единственное решение.

person Raul    schedule 21.11.2012

Ничего как такового, следующая ссылка дает представление о возможных изменениях в кодовой базе. Миграция EJB2-EJB3

Статья на Java.net

person Phani    schedule 12.04.2012