浏览 2957 次
锁定老帖子 主题:WebSphere上应用jta
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-03-30
由于没有配置使用jta,所以数据库操作时,时不时报WLTC0032E错误。于是就打算启用jta。但一起用jta,就发觉程序无法启动: 引用 [07-3-30 9:42:45:141 CST] 7ca9f0f8 LTCUserTranCa E WLTC0037E: 无法启动全局事务。LocalTransactionContainment 已经是活动的。
不得其解。 无厘头地翻阅资料,在sprin-ref中无意看到如下一句: 引用 如果你使用全局事务,你必须为你的所有事务操作使用Spring的 org.springframework.transaction.jta.JtaTransactionManager。 否则Spring将试图在象容器数据源这样的资源上执行局部事务。这样的局部事务没有任何 意义,好的应用服务器会把这作为一个错误。
立即想起,代码中有部分dao调用的模块是不设置事务管理的! 改动代码,重新编译后发布,再测试,果然不再报错了。 教训与经验: 所有的DAO调用,无论多小,都该放置于Service层,并令service被spring事务管理。这样,才不会发生我所碰到的问题。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |