JBoss3配置MySql数据库连接

时间:2008-03-23 02:52:26  类别:jsp mysql  作者:任逍遥

不同版本的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目录下standardjboss.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来部署。


特别推荐

广而告之