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文件
例:
此步骤需要注意的地方是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]
4.最后再修改JBOSS_HOME\server\default\conf\login-config.xml:
将下面代码添加到<policy>中
如果你是按照上面的步骤一步不拉地走下来的话,那么祝贺你已经成功配置好了JBoss数据库连接池,接下来做一个简单的测试,测试代码如下:
注意,如果是EJB环境下,测试代码应该放在同一个EJB组件下。不然会出现MySqlDS无法查找到JNDI绑定。问题出在JBOSS的数据源配置,可以看这个帖子:[url]http://open-open2009.iteye.com/blog/531296[/url]
大部分内容转自:http://seven-cuit.iteye.com/blog/376030
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