EntityManager не внедряется и имеет значение null при обновлении с jdk 8 до jdk 21 на сервере Liberty.JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 EntityManager не внедряется и имеет значение null при обновлении с jdk 8 до jdk 21 на сервере Liberty.

Сообщение Anonymous »

У меня было приложение, которое отлично работало на jdk 8 и Liberty 22.0.0.10. Я обновляю свое приложение до jdk 21 на Liberty 24.0.0.9 и изменяю pom.xml и некоторые функции на сервере. Приложение запускается, конечные точки REST и очередь jms работают, но при вызове базы данных она получает нулевой указатель, поскольку менеджер объектов em не внедряется (в jdk8 он внедряется правильно и не равен нулю). Выдает эту ошибку:

Код: Выделить всё

    nliberty.opentracing.internal.OpentracingJaxRsEMCallbackImpl W CWMOT0009W: The OpenTracing exception mapper detected and is handling an unhandled exception from the JAX-RS application.
java.lang.NullPointerException: Cannot invoke "javax.persistence.EntityManager.find(java.lang.Class, Object)" because "this.em" is null
Я использую библиотеку jpa-2.2, и отсюда кажется, что jdk 21 поддерживается. Это наиболее важная часть моего pom (я обновил некоторую библиотеку из версии jdk8):

Код: Выделить всё



javax.enterprise
cdi-api
2.0


javax.validation
validation-api
2.0.1.Final





javax
javaee-api
8.0.1
provided


commons-io
commons-io
2.7


org.eclipse.persistence
org.eclipse.persistence.extension
4.0.4
compile


org.glassfish.jersey.media
jersey-media-multipart
2.22.2
provided


javax.ws.rs
javax.ws.rs-api





io.openliberty.features
microProfile-4.0
24.0.0.9
esa


io.openliberty.features
com.ibm.websphere.appserver.javax.jsf-2.2




io.openliberty.features
jpa-2.2
24.0.0.9
esa


io.openliberty.features
beanValidation-2.0
24.0.0.9
esa


io.openliberty.features
mpContextPropagation-1.0
24.0.0.9
esa




${project.artifactId}


org.bsc.maven
maven-processor-plugin
3.3.3

true
--add-modules=javax.annotation



process

process

generate-sources

                             org.eclipse.persistence.internal.jpa.modelgen.CanonicalModelProcessor


${build.java.generated}

-Aeclipselink.persistencexml=${project.basedir}/src/local/resources/META-INF/persistence.xml






org.eclipse.persistence
org.eclipse.persistence.jpa.modelgen.processor
2.7.1




org.codehaus.mojo
build-helper-maven-plugin
3.0.0


add-source
process-sources

add-source



${build.java.generated}







Это мои возможности на сервере Freedom (я обновил некоторые библиотеки из версии jdk8):

Код: Выделить всё


localConnector-1.0
appSecurity-3.0
microProfile-3.3
jpa-2.2
beanValidation-2.0
mpContextPropagation-1.0
jndi-1.0
cdi-2.0
passwordUtilities-1.0
transportSecurity-1.0
ssl-1.0
ejbLite-3.2
concurrent-1.0
ejbPersistentTimer-3.2


Я пытался использовать jakarta вместо javax, но безуспешно (это также сломало мою очередь jms). Есть идеи, как исправить этот нулевой указатель?

Подробнее здесь: https://stackoverflow.com/questions/790 ... -to-jdk-21
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»