JBoss AS 7.1.1 下MySQL数据源的配置

在试了官方文档说的两个数据源配置方式没能成功之后,用了一种取巧的方式,分享出来希望能帮大家解决类似问题。

首先,将mysql的jdbc数据库驱动复制到<JBOSS_HOME>\standalone\deployments这个目录下,注意,驱动包版本要在5.1.17之上,我用的是mysql-connector-java-5.1.30-bin.jar,在mysql官网可以下到这个最新版本。

接下来,启动JBOSS应用服务器,启动完成后,这个jdbc驱动包成功被部署后,deplayments文件夹下会有名为mysql-connector-java-5.1.30-bin.jar.deployed的文件,表示这个jar包部署成功。

下一步,打开JBOSS管理控制台http://localhost:9990/console/App.html,使用用户名和密码登录,如果还未创建用户,可以运行bin目录下的add-user.bat文件添加用户,登录完成后,进行下一步,在控制台图形界面上添加数据源,选择右上角的Profile,选择左边tab导航的Datasources,点击Add按钮添加数据源,根据提示进行各项参数的填写,包括connectionurl,user,password等,在填写参数过程中有一项是要选择数据源驱动的,选择我们刚添加的jdbc驱动,这个jar包部署后,产生了两个mysql驱动,我选择的是mysql-connector-java-5.1.30-bin.jarcom.mysql.jdbc.Driver_5_1。

完成数据源的配置后,数据源就配置好了,在<JBOSS_HOME>\standalone\configuration\standalone.xml生成了如下配置代码:

<datasource jta="true" jndi-name="java:jboss/datasources/myds" pool-name="myds" enabled="true" use-ccm="true">
<connection-url>jdbc:mysql://localhost:3306/ejb3</connection-url>
        <driver-class>com.mysql.jdbc.Driver</driver-class>
        <driver>mysql-connector-java-5.1.30-bin.jarcom.mysql.jdbc.Driver_5_1</driver>
        <pool>
        <min-pool-size>10</min-pool-size>
        <max-pool-size>100</max-pool-size>
        </pool>
        <security>
        <user-name>root</user-name>
        <password>yourpassword</password>
        </security>
        <validation>
        <validate-on-match>false</validate-on-match>
                <background-validation>false</background-validation>
        </validation>
        <statement>
        <prepared-statement-cache-size>10</prepared-statement-cache-size>
                <share-prepared-statements>true</share-prepared-statements>
        </statement>
</datasource>

在项目的META-INF中添加配置文件persistence.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<!-- 该文件指定实体Bean使用的数据源及EntityManager的默认行为 -->
<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">
  <persistence-unit name="news">
    <jta-data-source>java:jboss/datasources/myds</jta-data-source>
<properties>
   <property name="hibernate.hbm2dll.auto" value="update"/>
   <property name="hibernate.show_sql" value="true"/>
   <property name="hibernate.format_sql" value="true"/>
   <property name="hibernate.jdbc.batch_size" value="10"/>
   <property name="hibernate.jdbc.fetch_size" value="18"/>
</properties>
  </persistence-unit>
</persistence>

 
使用该数据源配置jta数据源,成功!
<jta-data-source>java:jboss/datasources/myds</jta-data-source>
接下来我们就可以在SessionBean中,注入EntityManager了,如下:
@PersistenceContext(unitName="news")
EntityManager em;
最后,我们创建客户端项目远程访问Session,就可以访问数据库了,注意:客户端项目要添加Hibernate相关jar包和数据库驱动包。
至此,使用JBOSS管理数据源,成功注入EntityManager之后,就可以和数据库交互了!


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值