当前位置: 首页 > 知识库问答 >
问题:

Spring Boot 2.0.4和WAS Liberty transaction 18.0.0.2 transaction manager问题

陆烨磊
2023-03-14

我是WAS Liberty的新手,正在尝试部署一个spring boot应用程序。服务器在启动时引发异常。

[AVERTISSEMENT]上下文初始化过程中遇到异常-取消刷新尝试:org.springframework.beans.factory.beanCreationException:创建类路径资源[org/springframework/boot/autocconfigure/orm/jpa/hibernatejpaconfiguration.class]中定义的名为“Entity ManagerFactory”的bean时出错:调用init方法失败;嵌套异常为javax.persistence.persistenceException:[persistenceUnit:default]无法构建Hibernate SessionFactory;嵌套异常为java.lang.UnsupportedOperationException

问题是Hibernate试图使用错误的事务管理器类调用挂起:由:java.lang.UnsupportedOperationException at org.Hibernate.engine.transaction.jta.platform.internal.WebSphereExtendedJTaPlatform$TransactionManagerAdapter.suspend(WebSphereExtendedJTaPlatform.java:131)引起

这个类是由Spring Boot在类HibernateJpaConfiguration中配置的,它不包括正确的事务管理器:

私有静态最终字符串[]WEBSPHERE_JTA_PLATFORM_CLASSES={“org.hibernate.engine.transaction.jta.platform.internal.websphereextendedjtaplatform”,“org.hibernate.service.jta.platform.internal.websphereextendedjtaplatform”};

当我将类更改为org.hibernate.engine.transaction.jta.platform.internal.WebSphereLibertyJTaPlatform时,应用程序将启动。这是一个配置问题,还是spring boot不支持WAS Liberty。

谢谢你的帮助。

共有1个答案

司马彦
2023-03-14

WebSphereLibertyJTaPlatform是从5.2.13和5.3.beta2版本起引入Hibernate的,根据这个问题:https://Hibernate.atlassian.net/browse/hhh-11571

如果您使用的Hibernate版本包含WebSphereLibertyJTaPlatform并且没有显式设置JTA platform类属性,那么将自动检测并使用Liberty平台。

 类似资料:
  • 问题内容: 我一直在学习redis和node.js。我有两个问题,找不到令人满意的答案。 我的第一个问题是关于在node.js中重用Redis客户端。我找到了这个问题和答案:如何在socket.io中重用Redis连接,但还不足以让我满意。 现在,如果我在连接事件中创建redis客户端,它将为每个连接生成。因此,如果我有2万个并发用户,那么将有2万个Redis客户端。 如果我将其放在连接事件之外,

  • 我试图在fabric rocket chat上联系,但没有得到太多帮助,因此在SO上发布了它。我有以下疑问: 我们是否可以在链码内访问块高度(我知道这在客户端是可行的,但在链码内是否可能) 可以从链码中的正在进行的事务调用新事务吗? 想知道hyperledger Fabric中存储的数据的历史记录在哪里 我们可以根据链码中的transactionid进行查询吗? 在fabric链码中编写调度程序是

  • 问题内容: 我有一个ListView,并且在每个列表项中都有一些TextViews和一个CheckBox。当我检查一个CheckBox并触发onCheckedChangeListener时,一切都会正常进行。但是,一旦选中一个随机的其他复选框。这是一个例子。 如果我单击第一个CheckBox:选中8。检查15。已检查21。已检查27。检查33。检查41。然后,如果我一直向上滚动,则直到6都不会检查

  • 问题内容: 当我有代码时,它将停止所有其他命令的工作。我试过了,但这也不起作用。这是我的代码: 问题答案: 您必须放置在语句范围之外,无论消息是否以“ / lockdown”开头,都应运行。 顺便说一下,不适用于。尽管没有任何错误(因为已经进行了检查),但实际上并没有按您期望的那样工作。 装饰器的替代方法是:

  • 问题内容: 我正计划通过向信用卡收费来销售产品,因此使用SSL对于Django支持的网站至关重要。我对此非常幼稚。 我最初的django设置计划是使用Apache作为网络服务器,并使用mod_wsgi与Django再次由Apache服务的静态媒体进行通信。在SSL协议进入计划之前,一切似乎都很好。 我将在用户帐户配置页面,整个购买过程以及django管理员处使用SSL协议。 我已经检查了官方文档并

  • 我在CI和Typeahead方面有一些问题,我没有得到任何结果/ JS CI控制器 CI模型 和视图 有人能帮我解决这个问题吗?

  • 我有以下POJO: 我可以让GSON将ShapeHolder的实例序列化到JSON。但是当我试图将JSON的字符串反序列化回实例时,我得到错误: 抛出: 所以我看了这里,开始实现我自己的: 但现在我被困住了:我只得到了一个,但我真的需要一个这样我就可以编写如下代码: 我能做什么? 根据@raffian的建议(他/她发布的链接),我实现了一个,与链接中的完全相同(我没有做任何更改)。现在我得到了以下