Мы используем Toplink 11 (без JPA) в качестве основы персистентности для нашего приложения Java EE. В конфигурационном файле TOPLINK sessions.xml
мы определили класс слушателя:Создайте класс CDI, соответствующий первому классу Eventlink.
<event-listener-class>my.application.EventListener</event-listener-class>
Это хорошо работает, но теперь я хотел бы придать зависимостей в этот слушатель класса с помощью CDI @Inject
.
Неудивительно, что это не сработало, введенные объекты null
. Вероятно, потому, что Toplink самостоятельно инициализирует класс слушателя, минуя жизненный цикл CDI.
Есть ли способ иметь класс слушателя с жизненным циклом CDI?
В качестве альтернативы, я могу вручную «ввести» обработанные CDI компоненты в класс, например. в конструкторе?
Спасибо за указатели. Модернизация Toplink на данный момент невозможна. CODI и Seams, похоже, сосредоточены на JSF и веб-стеке. Мы используем Java EE с EJB и удаленным вызовом без веб-уровня. – jhyot
В этом случае вы пытались перейти на новую версию eclipselink.jar? Я не могу проверить, что в данный момент, но это должно быть обратно совместимо со старой версией TopLink, которую вы используете. –
Я буду иметь это в виду как решение, спасибо. Здесь необходимо внимательно изучить основные изменения в таких основных библиотеках (тестирование, ...) – jhyot