Как использовать @ EJB, @ Inject и @ Local в weblogic 12.1.3.0? - PullRequest
0 голосов
/ 02 сентября 2018

Мое приложение EJB3, которое было построено на java1.7, было отлично развернуто на сервере weblogic 12.1.2.0. Однако после перехода на weblogic 12.1.3.0 со встроенным EAR java1.8 оно выдает различные виды ошибок, такие как проблемы внедрения зависимостей , Нужно ли менять аннотации в текущем коде, такие как @ EJB, @ Inject и @Local?

Ответы [ 2 ]

0 голосов
/ 03 сентября 2018

Возможно, у вас есть пакет jar с реализацией для этих спецификаций, например, @EJB, @Inject (и т. Д.).

Если вы проверите различия между обеими версиями, они абсолютно одинаковы (по крайней мере) для этих спецификаций:

https://docs.oracle.com/middleware/1212/wls/NOTES/whatsnew.htm#BGGGHCJD

https://docs.oracle.com/middleware/1213/wls/NOTES/whatsnew.htm#BGGGHCJD

  • Контексты и внедрение зависимостей для Java EE 1.0
  • DependencyInjection для Java EE 1.0
  • Java EE EJB 3.1, 3.0, 2.1, 2.0 и 1.1

Возможно, если вы опубликуете трассировку стека, мы сможем выявить проблему

0 голосов
/ 02 сентября 2018

Я бы не пошел так далеко. Я думаю, что на новом сервере приложений действительно отсутствует банка.

Если вы переместили приложение с 12.1.2.0 на 12.1.3.0, возможно ли, что папка lib weblogic 12.1.2.0 содержит jar (для всех приложений) commons, который вы не взяли на новом сервере приложений?

Не копируйте jar-файлы, которые уже существуют в более новой версии, но ищите что-то нестандартное, что вы однажды добавили, чтобы ваши приложения работали. Какие классы пропущены?

Это также может быть хитростью, если Weblogic может использовать унифицированный загрузчик классов (я не знаю), который был установлен в версии 12.1.2.0 и сделал классы красными из папки lib сервера и содержимого уха вместе, а теперь и в 12.1. 3.0 эта настройка не установлена ​​и классы берутся только из уха.

...