OnlyFor_love(『不给我分 就剪掉楼主小鸡几』) ( ) 信誉:131 Blog 2006-8-26 9:07:01 得分: 0
还没涉及到这个 帮你顶一下 帮你提个公告吧
----------------------------
多谢,问题至今还没解决呢,郁闷啊
还没涉及到这个 帮你顶一下 帮你提个公告吧
----------------------------
多谢,问题至今还没解决呢,郁闷啊
EJB中事务是声明的,在配置文件中定义。如果可以取到当前事务下的数据库链接,直接传递给调用存储过程的方法,自己控制链接即可;如果取不到,那就只好把链接从Datasource中取出,整个业务的事务都由自己管理,不用EJB的。
----------------------------
EJB的事务是由系统框架控制的,这个问题我想跟EJB没多大的关系。个人认为跟weblogic有很大的关系。
因为EJB和JDBC的数据源都是在weblogic的容器的,如果EJB和JDBC访问DB是在weblogic的同一个会话里,那么方法回滚时,JDBC也会回滚的。
即使是用同一数据源,定义事务的隔离级别是需要的吧。即使是同一会话,你能保证就一定是同一事物,所以定义什么时候开始、什么时候回滚、什么时候提交也是需要的吧。
EJB只有使用WL自带的数据源以获取数据库链接,但是JDBC可以用自定义的吧。这是抬杠了。
即使是用同一数据源,定义事务的隔离级别是需要的吧。即使是同一会话,你能保证就一定是同一事物,所以定义什么时候开始、什么时候回滚、什么时候提交也是需要的吧。
------------------
不知所云
还有一个办法,一般在不得已的情况下用过程,最好少用过程,这样对数据库的依赖性就降低了,你要计算费用可以采用动态语言,比如 beanshell 等等,这样还可以在不重启的情况下修改你的计费方式。