为了账号安全,请及时绑定邮箱和手机立即绑定

Karaf 中 PersistenceProviderImpl

Karaf 中 PersistenceProviderImpl

慕雪6442864 2023-11-10 15:36:37
我有一些微服务在 Karaf (4.2.7) 中运行。启动 Karaf 时出现此错误。我认为这不会影响服务,并且应该很容易修复。我的意思是,这些服务似乎可以运行,并且所有配置的数据源也都处于良好状态(我一一测试了它们)。我们不使用 PAX,我们使用数据源蓝图。什么可能导致此错误以及我应该如何修复它?    2019-10-17T11:42:08,386 | INFO  | FelixStartLevel  | JtaPlatformInitiator             | 177 - org.hibernate.orm.core - 5.4.2.Final | HHH000490: Using JtaPlatform implementation: [org.hibernate.osgi.OsgiJtaPlatform]    2019-10-17T11:42:08,413 | INFO  | FelixStartLevel  | PersistenceProviderTracker       | 52 - org.apache.aries.jpa.container - 2.7.2 | Found provider for ybkDS org.hibernate.jpa.HibernatePersistenceProvider    2019-10-17T11:42:08,414 | ERROR | FelixStartLevel  | Felix                            | 6 - org.ops4j.pax.logging.pax-logging-api - 1.11.2 | Bundle org.apache.aries.jpa.container [52] EventDispatcher: Error during dispatch. (java.lang.ClassCastException: org.apache.openjpa.persistence.PersistenceProviderImpl cannot be cast to javax.persistence.spi.PersistenceProvider)
查看完整描述

1 回答

?
HUH函数

TA贡献1836条经验 获得超4个赞

我通过OpenJPA从 Karaf 中删除/卸载解决了这个问题。
似乎我在 Karaf 中安装了其他功能,这些功能已经涵盖了 JPA。
这些功能是:hibernate、jpa,还有 Apache Aries JPA 蓝图 2.5.0。
我很确定其中之一涵盖了 JPA。因此,在这些之上使用 OpenJPA 是导致问题的原因。

注意:我认为答案jbonofre是正确的。不知道为什么他们让他删除这个答案。

“您没有部署两个 JPA 引擎吗?就像您在 bundle/persistence.xml 中使用 OpenJPA 但还安装了 Hibernate 一样?”

我在看到它之前就解决了我的问题,但这似乎正是问题所在,我已经有超过 1 个 JPA 提供程序。因此删除 OpenJPA 解决了这个问题。


查看完整回答
反对 回复 2023-11-10
  • 1 回答
  • 0 关注
  • 53 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信