IBatis框架的一些问题的扩展(三)

             项目采用的事务由于IBatis的事务可能不能满足项目的需求,项目中采用EJB3.0的中间件服务(事务管理,持久化,消息,安全性,群集等)替代IBatis的事务操作。项目中采用JBoss的连接池,需要在JBoss添加相关的连接池文件。

             在JBoss的服务器中添加

 

JBoss的配置如下

数据源用于配置数据库的连接的信息,每一个数据源必须指定一个唯一的JNDI名称,应用通过JNDI名称查找数据库源。默认的数据源DefaultDS,它使用Jboss内置的HSQLDB数据源。每一种数据库配置的模板在可以参考[Jboss安装目录]\docs\examples\jca目录中找到,名称为:数据库名+-ds.xml.

数据库配置文件的取名格式必须为xxx-ds.xml,其中xxx代表任意名称。

数据源部署前,必须把数据库驱动jar拷贝到[Jboss安装目录]/sever/配置的名(默认default/lib目录。

将数据源部署文件拷贝到[Jboss安装目录]/sever/配置的名(默认default/deploy目录,容器遇到以*-ds.xml结尾的文件时,会进行动态发布。发布完成之后可以通过:http://localhost:8080/jmx-console查看。

选择jboss.jca/jboss.jdbc查看数据源的信息:

在连接池管理(ManagedConnectionPool)中进入连接池属性修改界面中,MaxSize为最大连接数,InUseConnectionCount代表目前正在使用的连接数。一旦正用大于最大连接数,后面发起的数据库连接将会报错误。

不同的数据源的数据库配置不一样,可以参考模板修改。

 

 

Ibatis配置文件SqlMapConfig.xml中配置如下:

    <!-- JNDI JBOSS连接池配置 -->

    <transactionManager  commitRequired="true"  type="EXTERNAL">

        <property name="DefaultAutoCommit" value="false"/> 

        <property name="SetAutoCommitAllowed" value="false"/>

        <dataSource type="JNDI">

            <property name="DataSource" value="${xxxds}" />

            <property name="context.java.naming.factory.initial" value="${initial}" />

            <property name="context.java.naming.factory.url.pkgs" value="${pkgs}" />

            <property name="context.java.naming.provider.url" value="${url}" />         </dataSource>      

    </transactionManager>

此处必须注意的commitRequired=truetype=”External” 设置事务类型为外部事务。

           

  总结:纵观当前的各种Ibatis的架构中Ibatis的事务大多使用外部事务并且采用容器级别的事务作为保障。如EJB事务和Spring的事务。由容器实现事务配置化管理。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值