Spring JTA 事务与 Websphere 的 JPA 和 jndi 数据源

2024-05-01

我有多个数据源和一个配置有 JPA 的数据库。我正在使用 websphere 7。我希望将所有这些数据源配置为全局事务。我正在使用下面的 spring 配置,但事务没有按预期的全局事务工作。如果一个数据库发生故障,则另一个数据库将被提交,这预计不会作为单个全局事务。你能帮我解决我做错的地方吗?

我有 2 个数据源,其中一个使用 id="us_icfs_datasource" 配置如下,另一个使用 JPA

<jee:jndi-lookup id="entityManagerFactory" jndi-name="persistence/persistenceUnit"/> 
    <bean id="pabpp" class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor"/>

<bean id="transactionManager" class="org.springframework.transaction.jta.JtaTransactionManager" />

<!-- Needed for @Transactional annotation -->
    <tx:annotation-driven/>

<jee:jndi-lookup id="US_ICFS_DATASORCE" 
        jndi-name="jdbc/financing_tools_docgen_txtmgr"
        cache="true"
        resource-ref="true"
        proxy-interface="javax.sql.DataSource" />

我还在 web.xml 中添加了以下代码

 <persistence-unit-ref>
    <persistence-unit-ref-name>persistence/persistenceUnit</persistence-unit-ref-name>
    <persistence-unit-name>persistenceUnit</persistence-unit-name>
  </persistence-unit-ref> 

  <persistence-context-ref>
    <persistence-context-ref-name>persistence/persistenceUnit</persistence-context-ref-name>
    <persistence-unit-name>persistenceUnit</persistence-unit-name>
  </persistence-context-ref>

下面是我使用事务的代码

> @Transactional    public TemplateMapping addTemplateMapping(User user,
> TemplateMapping templateMapping)          throws
> TemplateMappingServiceException {         .... }

在 Websphere 上,您应该使用此 bean 来连接到 Websphere 事务管理器:

<bean id="transactionManager"
     class="org.springframework.transaction.jta.WebSphereUowTransactionManager"/>

另请参阅此article http://www.ibm.com/developerworks/websphere/techjournal/0609_alcott/0609_alcott.html

EDIT:

为了使用两阶段提交(即确保多个资源之间的一致性),您将需要使用 XA 数据源。看本文 http://www.ibm.com/developerworks/websphere/library/techarticles/0407_woolf/0407_woolf.html了解详情。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring JTA 事务与 Websphere 的 JPA 和 jndi 数据源 的相关文章

随机推荐

  • 使用 hg 存储库作为网站

    这与我的安全问题有些相关here https stackoverflow com questions 2361626 security deny access to hg via mod rewrite 对实时网站使用 hg Mercuri
  • Json.Net 根据值选择对象

    我有一个 Json 对象 如下所示 wvw matches wvw match id 1 4 red world id 1011 blue world id 1003 green world id 1002 start time 2013
  • 在 Dart 中打印不带括号的列表

    我想在打印时从列表中删除括号 Dart Code void main var lst new List 3 for int i 0 i lt 3 i lst i i print lst 电流输出 0 1 2 预期输出 0 1 2 您可以使用
  • 多个 aiohttp Application() 在同一进程中运行?

    Can two aiohttp web Application 对象在同一进程中运行 例如在不同的端口上 我看到了一堆 aiohttp 代码的示例 例如 from aiohttp import web app web Application
  • 如何在画布的右上角绘制位图

    我正在尝试绘制位图top right hand corner of the Canvas 到目前为止我已经做了以下事情 100x40 dimensions for the bitmap bitmap BitmapFactory decode
  • 当参数具有相同名称时如何恢复内置函数? [复制]

    这个问题在这里已经有答案了 我知道你是 不应该 https stackoverflow com questions 2417979 can i use variable name type as function argument in p
  • 如何将 Pandas DataFrame 中加载的嵌入转换为 Gensim 模型?

    我有一个 DataFrame 其中索引是单词 并且有 100 个带有浮点数的列 这样对于每个单词 我将其嵌入为 100d 向量 我想将我的 DataFrame 对象转换为gensim 模型对象 https radimrehurek com
  • Qt - 如何在 QGraphicsPixmapItem 中显示 gif(动画)图像

    我正在尝试在 QGraphicsPixmapItem 中使用一张闪烁的图像 显示的图像没有动画效果 下面是原始图像 下面是在 QGraphicsPixmapItem 中使用此图像的 QGraphicsScene 有人能说一下如何实现这一目标
  • QML 适合所有分辨率的屏幕

    大家好 我的 QML 代码有问题 我犯了一个错误 我给元素设置了一定的大小 现在我在将应用程序放在其他设备上时遇到了问题 我会将我的代码粘贴到有宽度和高度的位置 以便您可以更改它以向我展示如何使用动态调整大小 我需要说我正在使用以下代码从
  • numpy float:算术运算比内置函数慢 10 倍?

    我对以下代码的计时非常奇怪 import numpy as np s 0 for i in range 10000000 s np float64 1 replace with np float32 and built in float 内
  • 如何从注册表获取重定向字符串?

    我正在使用从注册表中读取一些值Registry http msdn microsoft com en us library microsoft win32 registry 28v vs 110 29 aspx 我需要访问使用的一些值注册表
  • angularjs ng-grid:行之间的父子关系(隐藏/显示行)

    我正在尝试使用预定义的隐藏行来实现渲染 ng grid 并在某些特定事件上我想显示它们 我试图模拟行之间的父子关系 但所有行都将以通常的方式呈现和放置 默认情况下 子 行将呈现为 折叠 单击父项时 子行将显示为展开的 我正在尝试寻找一些解决
  • 无需通过电子邮件发送密码即可恢复密码

    所以 我一直在玩asp PasswordRecovery发现我真的不喜欢它 原因有几个 1 即使无法访问 Alice 的电子邮件 也可以重置 Alice 的密码 密码重置的安全问题缓解了这个问题 但并不能真正令我满意 2 Alice 的新密
  • 是否有任何 mongodb ORM 允许您为字段添加别名?

    我刚刚看了这个 http blog mongodb org post 38467892360 mongodb schema design insights and tradeoffs from http blog mongodb org p
  • 具有多个路径的 SVG 剪辑路径的悬停事件

    我有一个 SVG 演示图像 其中包含多个正在剪辑动画 GIF 的圆圈 当用户将鼠标悬停在每个圆圈上时 是否可以观察每个圆圈的悬停事件 例如左上角的圆圈或右中角的圆圈 另外 当这些圆圈悬停时 是否可以操纵这些圆圈上的颜色叠加 EDIT 理想情
  • Xcode 8:因特性而异,改变所有尺寸类别的布局

    我正在尝试使用 xcode 8 2 1 上的 very for Traits 功能 但是当我使用 Vary for Traits 更改一个尺寸类的布局 然后在完成后 完成变化 时 它实际上正在更改每个尺寸的布局我的故事板中的课程 例如我尝试
  • Logstash删除类型并保留_type

    我有一个logstash 客户端和服务器 客户端将带有logstash的udp输出的日志文件发送到服务器 服务器也运行logstash来获取这些日志 在服务器上 我有一个 json 过滤器 它会在实际日志的字段中提取 json 格式的消息
  • 如何使用 maven 在 JBoss AS 7 的 MANIFEST.MF 中生成模块依赖关系?

    在 JBoss AS 7 中 依赖于 AS 中包含的库的 Web 应用程序必须在 META INF MANIFEST MF 中声明这些依赖关系 如下所示 Dependencies
  • XCode 7 中的 UI 测试文档 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想知道 WWDC 2015 上引入的 XCode 7 中的新 UI 测试是否有任何文档 如果没有文档
  • Spring JTA 事务与 Websphere 的 JPA 和 jndi 数据源

    我有多个数据源和一个配置有 JPA 的数据库 我正在使用 websphere 7 我希望将所有这些数据源配置为全局事务 我正在使用下面的 spring 配置 但事务没有按预期的全局事务工作 如果一个数据库发生故障 则另一个数据库将被提交 这