JBoss3配置MySql数据库连接

来源:互联网 发布:淘宝怎么拆分订单 编辑:程序博客网 时间:2024/05/17 21:47

不同版本的JBoss的文件目录不同。在jboss-4.2.2.GA中的目录结构就和jboss3有很大的不同了。

现在我来讲解如何配置Jboss3的mysql数据库连接池。

我的环境是

JBoss3.2.5

mysql 5.0

mysql-connector-java-5.0.0-beta-bin.jar

首先把docs/examples/jca下的mysql-ds.xml 拷贝到server/default/deploy下。

然后做如下配置

<datasources>
  <local-tx-datasource>
    <jndi-name>MySqlDS</jndi-name>
    <connection-url>jdbc:mysql://localhost:3306/mysql</connection-url>
    <driver-class>com.mysql.jdbc.Driver</driver-class>
    <user-name>root</user-name>
    <password>password</password>
  </local-tx-datasource>

</datasources>

第二步:

到server/default/conf目录下standardjaws.xml修改如下

<jaws>
<datasource>java:/MySqlDS</datasource>
<type-mapping>mySql</type-mapping>

……

</jaws>

第三步:

到server/default/conf目录下standardjbosscmp-jdbc.xml 或者3.x系列的其他版本叫做jbosscmp-jdbc.xml

<jbosscmp-jdbc>
<defaults>
<datasource>java:/MySqlDS</datasource>
<datasource-mapping>mySql</datasource-mapping>
</defaults>
</jbosscmp-jdbc>

第四步:

修改server/default/conf目录下的login-config.xml

在最后的</policy>前加上

<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">password</module-option>
      <module-option name = "managedConnectionFactoryName">jboss.jca:service=LocalTxCM,name=MySqlDS</module-option>
    </login-module>
   </authentication>
  </application-policy>

到上面位置mysql数据是配置好了。现在我们要测试下

第五步:

新建一个web工程。例如 mysqljboss

创建一个test.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@ page import="java.sql.*" %>
<%@ page import="javax.sql.*" %>
<%@ page import="javax.naming.*" %>
<%@ page session="false" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>test mysql datasource</title>
</head>
<body>
<%
 out.println("My test begin");
 DataSource ds=null;
 try{
  InitialContext ctx=new InitialContext();
  ds=(DataSource)ctx.lookup("java:/MySqlDS");
  Connection conn=ds.getConnection();
  Statement stmt=conn.createStatement();
  String strSql="select * from customers_10";//自己mysql中的表
  ResultSet rs=stmt.executeQuery(strSql);
  while(rs.next()){
   out.println(rs.getString(1)+" "+rs.getString(2));
   out.println("/n");
  }
  out.print("my test end");
 }catch(Exception e){
  e.printStackTrace();
 }
 %>
</body>
</html>

部署到jboss上。

jboss是以一个.war结尾的文件夹来部署的。比如mysqljboss.war文件夹放到server/default/deploy。可以通过eclipse里的控件直接部署 或是ant来部署。

 
原创粉丝点击