事务是容器管理的..
一般管理一个事务是按一个方法..
也就是你的sessionbean里的方法,从执行到结束是一个事务...
也就是如果你的方法出错,容器自动给你回滚..
不用你操心的 ...以上只是看资料,没有试验过...
还请楼主自己试验一下最好 :) ------------------------------------------------------
我们还年轻牛奶会有的奶牛也会有的
可天天在 csdn 混这些会有吗 ??
一般管理一个事务是按一个方法..
也就是你的sessionbean里的方法,从执行到结束是一个事务...
也就是如果你的方法出错,容器自动给你回滚..
不用你操心的 ...以上只是看资料,没有试验过...
还请楼主自己试验一下最好 :) ------------------------------------------------------
我们还年轻牛奶会有的奶牛也会有的
可天天在 csdn 混这些会有吗 ??
解决方案 »
- 批量操作主键冲突
- 使用struts2 在struts.xml(配置文件)配置文件里使用${name}标签得到action里设置的值
- 怎么在action中修改sessionid
- web service 注册问题。
- 如何计算一个字段值的和?
- up有分,j2EE在职程序员联盟群(群号:15603003)招集JAVA/JSP等方面技术的在职程序员,本群为WEB在职程序员联盟第四群,欢迎广大在职程序员和
- 如何在JAVA中调用C++代码
- Struts中,如果页面想使用对象数组,在ActionForm中该怎么定义呢?
- 用XML做excel模板
- tomcat加载工程的时候出错【有图】
- 我看了半年的JAVA语法书,学过C的数据结构,如何转形学习J2EE?J2EE的切入点是什么?
- Exception in thread "main" java.lang.NoClassDefFoundError:test 是怎么回事!
------------------------------------------------------
我们还年轻牛奶会有的奶牛也会有的
可天天在 csdn 混这些会有吗 ??
<transaction-type>Bean</transaction-type>
是不是把这个session bean设定为事务型了?
我看有些地方说要设置为<trans-attribute>Required</trans-attribute>
我用的开发工具是ibm 的 wsad5
例如:A()调用到多个实体bean的create及remove等方法,
并且希望这些实体bean的方法都在一个事物中运行。那么部署时,
可以将session bean的A方法的事务属性设置为required或required new,
同时要保证A中调用到的那些实体bean的方法的事务属性为required(一定不能是required new)。
注意!!!!!!!!!!!!!!容器不会帮你自动回滚的,即使你用的是容器管理的事务!!!!首先,如果你的SESSIONBEAN配置的是容器管理的事务,那么,为了回滚,你要写:
try{
create
remove
...
}catch(..){
ctx.setRollbackOnly();
...
}
这样,就回滚了第二中方法,你用BEAN管理的事物方式
这时候,你要用UserTracaction:
ut=UserTransaction) ctx.lookup( "java:comp/UserTransaction ");
try{
ut.begin();
create
remove
..
ut.commit();
}catch(..){
ut.rollback();
}
这表明用的是BEAN管理事务,所以你要用我上面说的第二中方法
http://www.yesky.com/20030325/1659136.shtml
搂主只需要在你的session bean里面的方法里面
void method1(...) {
cmp1 = cmpHome1.create();
cmp2 = cmpHome2.create();
cmp1.remove();
cmp2.remove();
}
把你对两个cmp进行操作都放到同一个方法里面,方法正常return事务提交。否则,在任何你想回滚事务的地方throw new Exception()就一切ok.
bmp没有试过,应该也差不多。
实际情况时:每一个session bean方法的开始,容器缺省的开始一个事务,在方法的退出时提交,抛出异常时回滚。