现在的位置: 首页 > 综合 > 正文

在JBoss里配置MySql数据源

2013年10月10日 ⁄ 综合 ⁄ 共 2394字 ⁄ 字号 评论关闭
 

使用JBoss配置MySql的数据源
                                                     Author: liuxiaohua
 
JBoss 版本:4.x
MySql 版本:5.x
第一步,去MySQL的官网下一个JDBC驱动(点这里下载)。然后把解压出来的文件mysql-connector-java-5.0.7-bin.jar拷贝到%JBoss%/server/default/lib里。最好再把CLASSPATH里加上mysql-connector-java-5.0.7-bin.jar的路径。
 
第二步,拷贝%JBoss%/docs/examples/jca/mysql-ds.xml 到%JBoss% /server/default/deploy文件夹里。然后修改一下几行:
        <jndi-name>MySqlDS</jndi-name><!--这里填你想要JNDI名字-->
        
<connection-url>jdbc:mysql://localhost:3306/mysql</connection-url><!--这里我用mysql自带的数据库做测试-->
        
<driver-class>com.mysql.jdbc.Driver</driver-class><!--这个不用改-->
        
<user-name>root</user-name><!--这里填数据库的用户名-->
       
<password>vincent</password><!--这里填数据库的密码-->
 
第三步,修改%JBoss%/server/default/conf里的standardjbosscmp-jdbc.xml文件。这里和网上其他教程不一样的是只用修改<datasource>java:/MySqlDS</datasource>就可以了。注意这里的MySqlDS就是在第二步中mysql-ds.xml中配置的JNDI名字。那个<datasource-mapping>就不用改了。
 
第四步,修改%JBoss%/server/default/conf里的login-config.xml文件。在文件的最后一句</policy>的前面加上一下代码:
   

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

 

编一个名为test.jsp的JSP文件进行测试:
 

<%@ page language="java" import="java.util.*" pageEncoding="GB2312"%>
<%@ page import="java.sql.*"%>
<%@ page import="javax.sql.DataSource" %>
<%@ page import="javax.naming.*"%>
<html>
<head>   
    
<title>测试JBoss/MySQL连接池</title>   
</head> 
<body>
    
<%
    out
.print("测试JBoss/MySQL连接池<br/>");
    try{
    InitialContext initCtx = new InitialContext();
    DataSource ds = (DataSource)initCtx.lookup("java:/MySqlDS");//注意这里,如果你的JNDI名字和我的不一样,那这个"MySqlDS"要改!
    Connection conn = ds.getConnection();
    out.print("MySQL connection pool runs perfectly!");
    conn.close();
    }
    catch(Exception ex){
    out.println("连接错误:");
    out.print(ex.getMessage());
    }
    %>
</body>
</html>

抱歉!评论已关闭.