JBOSS 5 连接池配置

JBOSS 5与其它版本的JBOSS 连接池配置还是有很大不同的。下面描述的是关于JBOSS 5的连接池配置。

1.将mysql的JDBC驱动放到的JBOSS_HOME\server\default\lib 下

2.把JBOSS_HOME\docs\examples\jca\mysql-ds.xml 复制到JBOSS_HOME\server\default\deploy目录下。修改mysql- ds.xml文件
例:
<datasources> 
<local-tx-datasource>
<jndi-name>MySqlDS</jndi-name>
<connection-url>
jdbc:mysql://localhost:3306/databaseName
</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<user-name>root </user-name>
<password>root </password>
</local-tx-datasource>
</datasources>

此步骤需要注意的地方是jca目录下存在mssql-ds.xml这个文件,注意区分它与mysql-ds.xml

3.修改JBOSS_HOME\server\default\conf\standardjbosscmp-jdbc.xml

[color=red]说明:<datasource-mapping>mySql</datasource-mapping>的JBoss 5.0.1GA中是被注释掉了,需要将注释标记去掉。
[/color]
<jbosscmp-jdbc> 
<defaults>
<datasource>java:/MySqlDS </datasource>
<datasource-mapping>mySql </datasource-mapping>
</defaults> </jbosscmp-jdbc>



4.最后再修改JBOSS_HOME\server\default\conf\login-config.xml:
将下面代码添加到<policy>中

<application-policy name = "MySqlDbRealm"> 
<authentication>
<login-module code = "org.jboss.resource.security.ConfiguredIdentityLoginModule" flag = "required">
<module-option name ="principal">databaseName </module-option>
<module-option name ="userName">root </module-option>
<module-option name ="password">root </module-option>
<module-option name="managedConnectionFactoryName"> jboss.jca:service=LocalTxCM,name=MySqlDS
</module-option>
</login-module>
</authentication>
</application-policy>


如果你是按照上面的步骤一步不拉地走下来的话,那么祝贺你已经成功配置好了JBoss数据库连接池,接下来做一个简单的测试,测试代码如下:

public void testPool(){
try {
Context ctx = new InitialContext(); //得到初始化上下文
Object obj = ctx.lookup("java:/MySqlDS");//查找连接池
DataSource ds = (DataSource) obj;//转换成DataSource
Connection connect = ds.getConnection();//从连接池中得到一个连接
Statement stmt = connect.createStatement();
ResultSet rs = stmt.executeQuery("select * from user");//这是你的数据库的表噢!
while(rs.next()){
System.out.println(rs.getString(1));//取出1个字段
}
rs.close();
stmt.close();
connect.close();
} catch (NamingException e) {
e.printStackTrace();
} catch(SQLException e1){
e1.printStackTrace();
}
}


注意,如果是EJB环境下,测试代码应该放在同一个EJB组件下。不然会出现MySqlDS无法查找到JNDI绑定。问题出在JBOSS的数据源配置,可以看这个帖子:[url]http://open-open2009.iteye.com/blog/531296[/url]

大部分内容转自:http://seven-cuit.iteye.com/blog/376030
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值