论坛首页 Java企业应用论坛

提问:使用tomcat服务器如何在业务逻辑层(Service)实现事务管理?

浏览 12195 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-11-15  
rkihabara 写道
怯怯的问一下,什么是应用服务器,什么是web服务器。。


在Java这个行业里,应用服务器一般指支持EJB的服务器,web服务器只支持Servlet和JSP。

去这里看看就明白J2EE了,http://java.sun.com/javaee/technologies/

再去读读Rod Johnson的J2EE Development without EJB. 搞Java商用软件开发的都该读读这本书。

daquan198163 写道
楼主对J2EE一些基本概念的理解似乎都有问题,觉得这个项目危险了


不要说丧气话么,你这不是长项目之威风,灭我javaeyer之士气么。要说祝楼主旗开得胜,马到成功,拔关夺寨才是。

  
0 请登录后投票
   发表时间:2006-11-15  
也可以只用spring 的jdbc 和事物那一块。可以不全用的呀。
0 请登录后投票
   发表时间:2006-11-16  
rkihabara 写道
怯怯的问一下,什么是应用服务器,什么是web服务器。。


回家翻了翻书,找到了一些老资料,对这个话题再多说两句。

在上古时代,计算机很昂贵的,只有大公司才有钱买一台大计算机,跑商用软件,这叫Mainframe,这些计算机在今天还在跑,运转着和我们生活息息相关的系统,如银行管理你我账户的,Fight Club里要炸掉的就是这些系统。

上个世纪九十年代初,Unix workstation开始显风头了,关键是计算机之间可以拉网了,这时出了一个很时髦的概念,叫Client Server,这是个商机啊,于是各个厂商天天吹嘘Client Server多好多好,要是公司商用软件不用Client Server,就等着天诛地灭如何如何。那时Server上跑个数据库,客户端上跑个桌面程序,RAD大行其道,Dephi,VB好时髦啊。

在利用这种方式开发商业系统时,软件工业发现了一些Common Concern,提出了一个中间件(Middleware)的概念,我翻到了一本叫Essential Guide to Object Monitors的老书,里面提出了下列类型的中间件:

Database replication, Object Request Broker, Object Monitor, Transaction Processing Monitor, Message-Switching Software, Massage Passing, Transaction Managers, Remote Procedure Call, Database Access Technology, Message Queuing, Message Replication.

划分一下,就是事务管理,消息队列,分布式计算,数据库连接。

想法是这些Common Concern的事情就不要由每个公司自己开发了,买现成的组件就行了。

Client/Server结构由此变成了Client-Application Server-Database Server三层,著名的3-tier solution就是这么来的。

现在的Application Server管的还是事务管理,消息队列。Sun给的标准方案就是EJB,又大又苯,现在被Spring打得快不行了。

商用系统其实没什么难的,三十年搞得都是事务管理,权限管理,日志,数据库这一套。搞得还不好都是组织内部交流问题,非技术因素。

0 请登录后投票
   发表时间:2006-11-16  
楼主看晕了吧。呵呵,其实你那个需求很简单。把connection放在threadLocal里边。再写个动态代理把service封装起来,service开始时建立连接。结束时关闭。异常时回滚并关闭。当然还涉及很多细节。如果你觉得麻烦就用spring。何必这么搞来搞去。
0 请登录后投票
   发表时间:2006-11-16  
真如楼上讲地。
connection可直接放action里,
象webwork那样,action请求一个new一个,threadLocal也可以省了,
给service层传个connection参数就OK了,
简单的操作,service层也省了,

0 请登录后投票
   发表时间:2007-03-14  
关注一下,最近也在想这个问题.
如果只用Jsp+Servlet+JavaBean来开发一个简单系统,
如何实现action+service+Dao?
如何控制事务?
而不用像LZ说的那样
Connection传来传去.
0 请登录后投票
   发表时间:2007-03-14  
yuxie 写道
把connection放在threadLocal里边。再写个动态代理把service封装起来,service开始时建立连接。结束时关闭。异常时回滚并关闭。

能给我说说这个要如何做吗?写个简单的示例代码如何?
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics