WebSphere上应用jta

手头有个项目,是跑在WebSphere上的。
由于没有配置使用jta,所以数据库操作时,时不时报WLTC0032E错误。于是就打算启用jta。但一起用jta,就发觉程序无法启动:
[quote][07-3-30 9:42:45:141 CST] 7ca9f0f8 LTCUserTranCa E WLTC0037E: 无法启动全局事务。LocalTransactionContainment 已经是活动的。[/quote]
不得其解。
无厘头地翻阅资料,在sprin-ref中无意看到如下一句:
[quote]如果你使用全局事务,你必须为你的所有事务操作使用Spring的 org.springframework.transaction.jta.JtaTransactionManager。 否则Spring将试图在象容器数据源这样的资源上执行局部事务。这样的局部事务没有任何 意义,好的应用服务器会把这作为一个错误。[/quote]
立即想起,代码中有部分dao调用的模块是不设置事务管理的!
改动代码,重新编译后发布,再测试,果然不再报错了。
教训与经验:
所有的DAO调用,无论多小,都该放置于Service层,并令service被spring事务管理。这样,才不会发生我所碰到的问题。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值