EJB 方法的事务属性必须通过本地或远程接口调用才起作用

来源:互联网 发布:淘宝怎样赚金币 编辑:程序博客网 时间:2024/05/20 09:21
问题:程序中要访问的两个库原来在同一个服务器上(SQL Server7),但现在其中一个库要移植到Oracle上。这样,我们的程序要访问不同服务器上的两个库,而SQL Server7不支持分布式事务,于是,我们将很多访问SQL Server7的EJB方法的事务属性都设置为不支持。不同的EJB间的调用工作得很好,但一个EJB方法要访问同一个EJB中的方法,而这个被调用的方法正好要访问SQL Server,原来是直接调用的。现在却出问题了。

解决:在这个EJB中保存一个对本EJB本地接口的引用,通过这个引用来调用那个EJB方法。ok

结论:容器管理的EJB事务属性必须通过本地或远程接口调用才起作用,特别要注意同一个Bean中方法间的调用有时也需要通过本地接口来调用。
原创粉丝点击