当前位置:首页 » 编程博文
开发技术指南» 文章正文
    引言: 对于J2EE 应用程序而言,事务的处理一般有两种模式:1. 依赖特定事务资源的事务处理这是应用开发中最常见的模式,即通过特定资源提供的事务机制进行事务管理。
 

 

    摘要:都是自己工作中曾经犯过的错或者是觉得容易弄错的地方,整理了部分与大家交流,还有些正在整理中。 tuxedo常见应用配置关注事项1. ubbconfig配置中机器名配置:windows环境中一定要大写,unix中可用uname -n查看。2. tmboot 起不来常与这几个参数相关,并容易混淆,建议关注。maxaccessers,maxservers,maxservices:这三个参数控制该tuxe......
 ·.net下的数据备份和还原    »显示摘要«
    摘要:数据库:sql server ;引用sqldmo◆数据备份 : /// <summary> /// 备份数据库 /// </summary> private void btnbackup_click(object sender, system.eventargs e) { this.cursor = cursors.waitcursor; this.label1.text ......


spring + hibernate 数据话持久层(转)
对于j2ee 应用程序而言,事务的处理一般有两种模式:

1. 依赖特定事务资源的事务处理 【程序编程相关:WebWork 2.1.1发布

【推荐阅读:WebWork2与SpringFrame

这是应用开发中最常见的模式,即通过特定资源提供的事务机制进行事务管理. 【扩展信息:IBM WebSphere 开发者技术期

        如通过jdbc.jta 的rollback.commit方法;hibernate transaction 的rollback.commit方法等.这种方法大家已经相当熟悉.

2. 依赖容器的参数化事务管理

通过容器提供的集约式参数化事务机制,实现事务的外部管理,如ejb 中的事务管理模式.

        如,下面的ejb事务定义中,将sessionbean mysession的doservice方

法定义为required.也就是说,当mysession.doserver 方法被某个线程调用时,容器将此线程纳入事务管理容器,方法调用过程中如果发生异常,当前事务将被容器自动回滚,如果方法正常结束,则容器将自动提交当前事务.

<container-transaction >

<method >

<ejb-name>mysession</ejb-name>

<method-intf>remote</method-intf>

<method-name>doservice</method-name>

<method-params>

<method-param>java.lang.string</method-param>

</method-params>

</method>

<trans-attribute>required</trans-attribute>

</container-transaction>

容器管理的参数化事务为程序开发提供了相当的灵活性,同时因为将事务委托给容器进行管理,应用逻辑中无需再编写事务代码,大大节省了代码量(特别是针对需要同时操作多个事务资源的应用),从而提高了生产率.然而,使用ejb 事务管理的代价相当高昂,撇开ejb 容器不菲的价格,ejb的学习成本,部署.迁移.维护难度,以及容器本身带来的性能开销(这往往意味着需要更高的硬件配置)都给我们带来了相当的困惑.此时事务管理所带来的优势往往还不能抵消上面这些负面影响.

spring事务管理能给我们带来什么?

下面这段xml配置片断展示了spring中的事务设定方式:

<beans>

<bean id="datasource"

class="org.apache.commons.dbcp.basicdatasource"

destroy-method="close">

<property name="driverclassname">

<value>org.gjt.mm.mysql.driver</value>

</property>

<property name="url">

<value>jdbc:mysql://localhost/sample</value>

</property>

<property name="username">

<value>user</value>

</property>

<property name="password">

<value>mypass</value>

</property>

</bean>

<bean id="transactionmanager"

class="org.springframework.jdbc.datasource.datasourcetr

ansactionmanager">

<property name="datasource">

<ref local="datasource" />

</property>

</bean>

<bean id="userdao" class="net.xiaxin.dao.userdao">

<property name="datasource">

<ref local="datasource" />

</property>

</bean>

springframework developer’s guide version 0.6

october 8, 2004 so many open source projects. why not open your documents?

<bean id="userdaoproxy"

class="org.springframework.transaction.interceptor.tran

sactionproxyfactorybean">

<property name="transactionmanager">

<ref bean="transactionmanager" />

</property>

<property name="target">

<ref local="userdao" />

</property>

<property name="transactionattributes">

<props>

<prop key="insert*">propagation_required</prop>

<prop key="get*">

propagation_required,readonly

</prop>

</props>

</property>

</bean>

</beans>


...   下一页
 ·jbuilder开发spring实例    »显示摘要«
    摘要: 1. 下载spring包,网址如下 http://www.springframework.org/download.html 解压后的目录中包含了dist、lib等子目录 2. 在jbuilder2005中增加spring库,选择菜单tools-configure-libraries,在弹出的对话框中点击new按钮,输入spring库的名称:spring,点击add按钮,将dis......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE