关于类似银行业务的例子,用ejb如何处理?业务如下:
有一帐户entitybean,里面包括帐号 userId和余额 account属性,由 e1 表示,在sessionbean中有两个方法f1(),f2() 由s1表示
f1()的业务逻辑为
f1(int id,int m){
e1=e1home.findbyprimakey(id);
e1.setAccount(m);
}
f2(int id,int m){
e1=e1home.findbyprimakey(id); //1
Thread.Sleep(10000); //其他更新操作 //2
if(el.account>m){ //3
e1.setAccount(account-m); //4
}
}
s1,e1都是容器管理事务。
假设account 最初为2000;
首先有一个servlet调用f2(1,1000),当1步骤完毕后进入2步骤(2步骤相当于在此执行其他逻辑处理).于此同时另一个线程的servlet调用f1(1,500),当完成此调用后,entitybean的account属性值(包括数据库内)应为500了。f2方法执行完2步骤后,进入3步骤,我希望e1.account>m为false(因为account被改变为500),但实际情况时e1.account>m为true(调试可看到此处account还为2000),因此就执行4步骤,从而当f2执行完毕后,account的值为1000。这显然是不对的。我原先认为entitybean可以自动同步数据库,但现在看来好像并不是这么回事。我想请问各位大侠,你们用ejb时如何处理这种业务了? 。
...全文
相关推荐
ejb3.0银行业务系统
采用j2ee三层结构,用ejb3.0实现简单功能.可以分布.
深入理解EJB3.0在银行业务系统中的应用
企业级JavaBean(EJB)3.0作为企业级应用开发的事实标准,为银行业务系统带来了许多前所未有的优势和便利。它不仅简化了企业组件的开发流程,还提高了代码的可读性和可维护性。本章将概述EJB3.0在银行业务系统中的应用,并介绍其核心组件如何应对金融行业对高性能、高可靠性及高安全性的严格要求。在开始探讨EJB3.0如何在银行业务系统中得到应用之前,我们先来看看EJB3.0的基本概念及其在银行业务系统中的地位。
基于JSF+EJB和EJB+Struct的开发例子
简单的内容管理系统,完成新闻的编辑、修改和删除。使用EJB JSF和JSTL
EJB Dev 1: EJB入门例子
NULL 博文链接:https://kylinsoong.iteye.com/blog/784231
ejb综合例子ejb综合例子
ejb综合例子,ejb综合例子,ejb综合例子,ejb综合例子


