ejb事务为什么不起作用 我用的是weblogic。我记得以前用jboss。不用什么设置的。默认的是可以回滚的。现在不知为什么不可以了。用的是容器管理事务。required。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你的事务属性是容器管理吧,在方法开始的时候,添加 sessionContext.setRollbackOnly();这样的话遇见异常的时候容器会自动回滚事务 方法开始的时候?好像开始的时候加入这句话就会抛出错误。sessionbean的其他方法就进行不下去了。 不能添加到方法开始,应该放在catch(xxx){ ......sessionContext.setRollbackOnly();} 不是很明白你的情况,Ejb要用好,还是挺麻烦的。 是不是weblogic设置ejb事务的时候有什么特殊的要求? 我用的是bmp,和这个有关系嘛? lihongwansui(苍茫云海) 的思路是对的,你得详细说出配置,以及相关代码。 TO shendi(迪迪) :BMP的事务管理能交给容器管理吗? 我也怀疑这个。不过好像从配置文件看应该可以德。都是CMT(容器管理事务)。BMT应该没有require,require new之分吧。 没人搞过这个嘛?到底bmp可是使用sessionbean中的容器管理事务嘛? 对于CMT你有两种选择,发现异常后抛EJBException给容器,让容器回滚或者sessionContext.setRollbackOnly(); 这应该没有问题的。我在entitybean中是抛的EJBException。不过sessionbean中的事务还是没有用。我是在sessionbean中操作bmp的。总共操作3个entitybean。在操作第二个bean的时候出错。现在的问题就是sesskonbean的CMT没有效果。事务没有回滚。第一个bean的数据库居然生效了。我现在怀疑bmp是否可以使用sessionbean中的容器管理事务。 检查你3个bmp entity bean和session bean的transaction attribute是required.有可能你没有吧他们放到一个事物里 你用的JDBC的驱动不支持TX,换个TX的驱动吧 谢谢楼上的。好像是这个问题了。我datascource没有用txdatascource 虚拟主机上的数据库连接超出最大连接数的时候如何关闭已有的连接 求大虾们帮忙,搞不清这是什么问题 菜鸟提问location问题 liferay的一个简单的问题 XML 删除节点增加节点出错! <s:iterator>标签 ,一对多用法求解 请关注:一个有关java用户开发界面中超链接的问题 struts中我有两个action,分属两个文件夹,如何在一个页面里使用另一个action? 100分问题,那位朋友ibatis这个构架用的比较熟,指教一下! 在ejb中如果主键是自增列,应如何处理? 请教如何有效的包含jsp页面? hibernate查询的问题
在方法开始的时候,添加 sessionContext.setRollbackOnly();
这样的话遇见异常的时候容器会自动回滚事务
catch(xxx){
......sessionContext.setRollbackOnly();
}
Ejb要用好,还是挺麻烦的。
BMP的事务管理能交给容器管理吗?
或者sessionContext.setRollbackOnly();