WEB开发网
开发学院WEB开发Jsp jboss配置mysql数据库连接池 阅读

jboss配置mysql数据库连接池

 2008-01-05 09:34:35 来源:WEB开发网   
核心提示:jboss配置 MySQL数据库连接池实例1 :配置: JDK 1.5 JBoss4.0.4 Mysql5.0 Myeclipse 4.12:建立数据库: create database test;use test;DROP TABLE IF EXISTS `test`;CREATE TABLE `test` (`Te

  jboss配置 MySQL数据库连接池实例
1 :配置:
  JDK 1.5
  JBoss4.0.4
  Mysql5.0
  Myeclipse 4.1
2: 建立数据库:
 create database test;
use test;
DROP TABLE IF EXISTS `test`;
CREATE TABLE `test` (
 `Test_id` int(11) NOT NULL auto_increment,
 `Test_name` varchar(45) NOT NULL default '',
 `Test_passWord` varchar(45) NOT NULL default '',
 PRIMARY KEY (`Test_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
INSERT INTO `test` VALUES (1,'test','test'),(2,'test2','test');
3:Copy MySQL的JDBC驱动放到jboss-4.0.4\server\default\lib
 可到MYsql网站下载www.mysql.com
4:在 jboss-4.0.4\server\default\deploy下新建文件mysql-ds.xml
  可从jboss-4.0.4\docs\examples\jca copy 修改
  想配置多个连接池只要多加一个<local-tx-datasource></local-tx-datasource>
  其中内容如下:
 <?xml version="1.0" encoding="UTF-8"?>

<!-- $Id: mysql-ds.xml,v 1.3.2.3 2006/02/07 14:23:00 acoliver EXP $ -->
<!-- Datasource config for MySQL using 3.0.9 available from:
http://www.mysql.com/downloads/api-jdbc-stable.Html
-->
<datasources>
 <local-tx-datasource>
  <jndi-name>test</jndi-name>
  <connection-url>jdbc:mysql://127.0.0.1:3306/test</connection-url><!?test为数据库名-->

  <driver-class>com.mysql.jdbc.Driver</driver-class>
  <user-name>root</user-name><!?用户名以下相同-->
  <password>xxxxxxxx</password><!?密码以下相同-->

  <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name>
  <!-- should only be used on drivers after 3.22.1 with "ping" support
  <valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLValidConnectionChecker</valid-connection-checker-class-name>
  -->
  <!-- sql to call when connection is created
  <new-connection-sql>some arbitrary sql</new-connection-sql>
   -->
  <!-- sql to call on an existing pooled connection when it is oBTained from pool - MySQLValidConnectionChecker is preferred for newer drivers
  <check-valid-connection-sql>some arbitrary sql</check-valid-connection-sql>
   -->

  <!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) -->
  <metadata>
    <type-mapping>mySQL</type-mapping>
  </metadata>
 </local-tx-datasource>
</datasources>

5:修改jboss-4.0.4\server\default\conf\ standardjaws.xml
<jaws>
<datasource>java:/test</datasource> 
<type-mapping>mySql</type-mapping> 
.....
</jaws>
修改jboss-4.0.4\server\default\conf\ standardjbosscmp-jdbc.xml
<jbosscmp-jdbc> 
<defaults> 
<datasource>java:/test</datasource>
<datasource-mapping>mySql</datasource-mapping>
</defaults>
</jbosscmp-jdbc>
修改jboss-4.0.4\server\default\conf\ login-config.xml
<application-policy name = "MySqlDbRealm"> 

<authentication> 

<login-module code = 

"org.jboss.resource.security.ConfiguredIdentityLoginModule" 

flag = "required"> 

<module-option name ="principal">test</module-option> 

<module-option name ="userName">root</module-option> 

<module-option name ="password">xxxxxxxx</module-option> 

<module-option name ="managedConnectionFactoryName"> 

jboss.jca:service=LocalTxCM,name=test 

</module-option> 

</login-module> 

</authentication> 

</application-policy>
6:Myeclispe 新建Web project 命名为:UseTest
新建JAVA类DatabaseConn.java
package com.db;

import java.sql.*;

import javax.naming.*;
import javax.sql.DataSource;

public class DatabaseConn {

    public static synchronized Connection getConnection() {
      try {
        Context envCtx = new InitialContext(); 
        DataSource ds = (DataSource) envCtx.lookup("java:/test");
        return ds.getConnection();
      } catch (SQLException e) {
        System.out.println("数据源配置发生错误" + e.toString());
        return null;
      } catch (NamingException e2) {
        System.out.print("数据源配置" + e2.toString());
        return null;
      }

    }

  

  public static void close(ResultSet rs, Statement st, Connection conn) {
    try {
      if (rs != null)
        rs.close();
    } catch (SQLException ex) {
    }
    ;

    try {
      if (st != null)
        st.close();
    } catch (SQLException ex) {
    }
    ;

    try {
      if (conn != null)
        conn.close();
    } catch (SQLException ex) {
    }
    ;
  }
}
7:新建jsp页面:MyJsp.jsp
<%@ page language="java" import="java.util.*" pageEncoding="GB2312"%>
<%@ page import="java.sql.*"%> 
<%@ page import="com.db.*"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
 <head>
  
  <title>My JSP 'MyJsp.jsp' starting page</title>
  
  <meta http-equiv="pragma" content="no-cache">
  <meta http-equiv="cache-control" content="no-cache">
  <meta http-equiv="expires" content="0">
  <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
  <meta http-equiv="description" content="This is my page">
  
  <!--
  <link rel="stylesheet" type="text/CSS" href="styles.css">
  -->
 </head>
 
 <body>
  <% 
Connection conn = DatabaseConn.getConnection();
Statement stmt=conn.createStatement();
ResultSet rs=stmt.executeQuery("select * from test");
while(rs.next())
{
out.println(rs.getInt("Test_id"));
out.println(rs.getString("Test_name"));
out.println(rs.getString("Test_password"));

}
DatabaseConn.close(rs,stmt,conn);
%> 
 </body>
</html>
8 :部署Web project
9:重新启动服务器
10:访问: http://127.0.0.1:8080/UseTest/MyJsp.jsp

Tags:jboss 配置 mysql

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接