熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java開源技術 >> 正文

jboss配置 mysql數據庫連接池

2013-11-23 20:22:13  來源: Java開源技術 
jboss配置 mysql數據庫連接池實例
 :配置:
   JDK 
   JBoss
   Mysql
   Myeclipse 
:  建立數據庫:
 create database test;
use test;
DROP TABLE IF EXISTS `test`;
CREATE TABLE `test` (
  `Test_id` int() NOT NULL auto_increment
  `Test_name` varchar() NOT NULL default 
  `Test_password` varchar() NOT NULL default 
  PRIMARY KEY  (`Test_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin;
INSERT INTO `test` VALUES (testtest)(testtest);
:Copy MySQL的JDBC驅動放到jboss\server\default\lib
  可到MYsql網站下載
:在 jboss\server\default\deploy下新建文件mysqldsxml
   可從jboss\docs\examples\jca copy 修改
   想配置多個連接池只要多加一個<localtxdatasource></localtxdatasource>
   其中內容如下:
  <?xml version= encoding=UTF?>

<! $Id: mysqldsxml // :: acoliver Exp $ >
<!  Datasource config for MySQL using  available from:
l
>
<datasources>
  <localtxdatasource>
    <jndiname>test</jndiname>
    <connectionurl>jdbc:mysql://:/test</connectionurl><!?test為數據庫名>

    <driverclass>commysqljdbcDriver</driverclass>
    <username>root</username><!?用戶名以下相同>
    <password>xxxxxxxx</password><!?密碼以下相同>

    <exceptionsorterclassname>orgjbossresourceadapterjdbcvendorMySQLExceptionSorter</exceptionsorterclassname>
    <! should only be used on drivers after  with ping support
    <validconnectioncheckerclassname>orgjbossresourceadapterjdbcvendorMySQLValidConnectionChecker</validconnectioncheckerclassname>
    >
    <! sql to call when connection is created
    <newconnectionsql>some arbitrary sql</newconnectionsql>
      >
    <! sql to call on an existing pooled connection when it is obtained from pool  MySQLValidConnectionChecker is preferred for newer drivers
    <checkvalidconnectionsql>some arbitrary sql</checkvalidconnectionsql>
      >

    <! corresponding typemapping in the standardjbosscmpjdbcxml (optional) >
    <metadata>
       <typemapping>mySQL</typemapping>
    </metadata>
  </localtxdatasource>
</datasources>

:修改jboss\server\default\conf\ standardjawsxml
<jaws>
<datasource>java:/test</datasource> 
<typemapping>mySql</typemapping> 

</jaws>
修改jboss\server\default\conf\ standardjbosscmpjdbcxml
<jbosscmpjdbc> 
<defaults> 
<datasource>java:/test</datasource>
<datasourcemapping>mySql</datasourcemapping>
</defaults>
</jbosscmpjdbc>
修改jboss\server\default\conf\ loginconfigxml
<applicationpolicy name = MySqlDbRealm

<authentication> 

<loginmodule code = 

orgjbossresourcesecurityConfiguredIdentityLoginModule 

flag = required

<moduleoption name =principal>test</moduleoption> 

<moduleoption name =userName>root</moduleoption> 

<moduleoption name =password>xxxxxxxx</moduleoption> 

<moduleoption name =managedConnectionFactoryName

jbossjca:service=LocalTxCMname=test 

</moduleoption> 

</loginmodule> 

</authentication> 

</applicationpolicy>
:Myeclispe 新建Web  project 命名為:UseTest
新建JAVA類DatabaseConnjava
package comdb;

import javasql*;

import javaxnaming*;
import javaxsqlDataSource;

public class DatabaseConn {

        public static synchronized Connection getConnection() {
            try {
                Context envCtx = new InitialContext(); 
                DataSource ds = (DataSource) envCtxlookup(java:/test);
                return dsgetConnection();
            } catch (SQLException e) {
                Systemoutprintln(數據源配置發生錯誤 + etoString());
                return null;
            } catch (NamingException e) {
                Systemoutprint(數據源配置 + etoString());
                return null;
            }

        }

    

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

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

        try {
            if (conn != null)
                connclose();
        } catch (SQLException ex) {
        }
        ;
    }
}
:新建JSP頁面:MyJspjsp
<%@ page language=java import=javautil* pageEncoding=GB%>
<%@ page import=javasql*%> 
<%@ page import=comdb*%>
<!DOCTYPE HTML PUBLIC //WC//DTD HTML  Transitional//EN>
<html>
  <head>
    
    <title>My JSP MyJspjsp starting page</title>
    
    <meta httpequiv=pragma content=nocache>
    <meta httpequiv=cachecontrol content=nocache>
    <meta httpequiv=expires content=>
    <meta httpequiv=keywords content=keywordkeywordkeyword>
    <meta httpequiv=description content=This is my page>
    
    <!
    <link rel=stylesheet type=text/css >
    >
  </head>
  
  <body>
    <% 
Connection conn = DatabaseConngetConnection();
Statement stmt=conncreateStatement();
ResultSet rs=stmtexecuteQuery(select * from test);
while(rsnext())
{
outprintln(rsgetInt(Test_id));
outprintln(rsgetString(Test_name));
outprintln(rsgetString(Test_password));

}
DatabaseConnclose(rsstmtconn);
%> 
  </body>
</html>
 :部署Web project
:重新啟動服務器
:訪問: 

From:http://tw.wingwit.com/Article/program/Java/ky/201311/28391.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.