在JBoss裏配置MySql數據源

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>

 

原出處:http://www.diybl.com/course/3_program/java/javajs/2008521/117456.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章