guokehua(@yahoo.com.cn Y/、考虑下面的问题 某个飞机订票系统使用JSP页面进行用户的机票预定,其中有一段代码如下: void booket 查找数据库中剩余的票的数量; If(剩票数>0){ 记录这位顾客的资料; 将所剩余的票数-1,写回数据库 1010 回送消息:订票成功” else{回送消息对不起,票已经没有了”;} 你是否能发现其中的线程漏洞? 然后请你考虑以下问题 转帐时候,一般情况是以下流程: 个用户的钱变少 另一个人的钱变多 在这个过程中,你是否担心事务问题? 郭克华J2EE框架实战教学视频
oy Java! J guokehua@yahoo.com.cn 郭克华J2EE框架实战教学视频 考虑下面的问题: 某个飞机订票系统使用JSP页面进行用户的机票预定,其中有一段代码如下: void book(){ 查找数据库中剩余的票的数量; If(剩票数>0) { 记录这位顾客的资料; 将所剩余的票数-1,写回数据库; 回送消息:“订票成功”; } else{回送消息:“对不起,票已经没有了”;} } 你是否能发现其中的线程漏洞? 然后请你考虑以下问题: 转帐时候,一般情况是以下流程: 一个用户的钱变少 另一个人的钱变多 在这个过程中,你是否担心事务问题?
guokehua(@yahoo.com.cn EJB的提出 问题1的解决方案:自己编写一些代码,实现代码块 加锁 问题2的解决方案:自己编写一些代码,实现代码块 原子性,并且编写一些通信机制 但以上方法都有一个问题:逻辑性很强,一般人很 不容易编的很好但在一些敏感的系统里面,这个 事情又不得不作 自从有了BJB情况就大不相同了 因为你只要用EJB来包装这段代码,进行适当的配置 这段代码就能够实现前面所讲的各种性质 郭克华J2EE框架实战教学视频
oy Java! J guokehua@yahoo.com.cn 郭克华J2EE框架实战教学视频 EJB的提出 问题1的解决方案:自己编写一些代码,实现代码块 加锁 问题2的解决方案:自己编写一些代码,实现代码块 原子性,并且编写一些通信机制 但以上方法都有一个问题:逻辑性很强,一般人很 不容易编的很好,但在一些敏感的系统里面,这个 事情又不得不作 自从有了EJB,情况就大不相同了 因为你只要用EJB来包装这段代码,进行适当的配置, 这段代码就能够实现前面所讲的各种性质