龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > JAVA开发 >

jboss配置 mysql数据库连接池

时间:2009-12-23 15:42来源:未知 作者:admin 点击:
分享到:
jboss配置mysql数据库连接池实例 1:配置: JDK1.5 JBoss4.0.4 Mysql5.0 Myeclipse4.1 2:建立数据库: createdatabasetest; usetest; DROPTABLEIFEXISTS`test`; CREATETABLE`test`( `Test_id`int(11)NOTNULLauto_increment, `Test_name`varchar

   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.4serverdefaultlib
    可到MYsql网站下载www.mysql.com
  4:在 jboss-4.0.4serverdefaultdeploy下新建文件mysql-ds.XML
     可从jboss-4.0.4docsexamplesjca 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.4serverdefaultconf standardjaws.xml
  <jaws>
  <datasource>Java:/test</datasource> 
  <type-mapping>mySql</type-mapping> 
  .....
  </jaws>
  修改jboss-4.0.4serverdefaultconf standardjbosscmp-jdbc.xml
  <jbosscmp-jdbc> 
  <defaults> 
  <datasource>java:/test</datasource>
  <datasource-mapping>mySql</datasource-mapping>
  </defaults>
  </jbosscmp-jdbc>
  修改jboss-4.0.4serverdefaultconf 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
  
精彩图集

赞助商链接