Jboss datasource学习
时间:2010-07-18 来源:shoushou2001
用myeclipse来学习,还是比较快速省力的。
一下子就建好Web项目,设置jboss server,并且快速地部署好web application.
通过地址http://localhost:5000/jb1/,可查看到效果。
配置datasource,感觉比Tomcat下麻烦得多了,版本为jboss5GA。
涉及到四个配置文件:
1. XXX-ds.xml, 如:mysql-ds.xml,
需要从 jboss5GA\docs\examples 目录拷贝到 jboss5GA\server\default\deploy
并需要根据数据库信息做相关修改,如
<jndi-name>MySqlDS</jndi-name>
<connection-url>jdbc:mysql://localhost:3306/mydb</connection-url> <driver-class>com.mysql.jdbc.Driver</driver-class> <user-name>root</user-name> <password></password> 。。。。
2. standardjbosscmp-jdbc.xml, 在 jboss5GA\server\default\conf ,( jboss5跟以前的有些区别,以前版本不是
这个配置文件的,具体可上网查查。),需要做些修改:
<defaults> <datasource>java:MySqlDS</datasource> <!-- optional since 4.0 <datasource-mapping>Hypersonic SQL</datasource-mapping> --> <datasource-mapping>mySQL</datasource-mapping> <create-table>true</create-table> <remove-table>false</remove-table>
3. login-config.xml , 在 jboss5GA\server\default\conf ,在相应位置增加以下内容:
<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"> </module-option>
<module-option name="managedConnectionFactoryName">jboss.jca:service=LocalTxCM,name=MySqlDS
</module-option>
</login-module>
</authentication>
</application-policy>
4. jboss-web.xml (我改为其它名字也可运行), 在web.xml 同目录下新增该文件,内容为:
<jboss-web> <depends>jboss.jca:service=LocalTxCM,name=MySqlDS</depends> </jboss-web>
以上配置做完之后,基本上就行了,可以写个测试网页来测试一下:
<%@ page import="java.sql.*"%>
<%@ page import="com.test.struts.frame.datapool.*"%>
<%
ConnectionPoolTest ct = new ConnectionPoolTest();
Connection conn = ct.callJbossDS();
System.out.println("kkkkkkkkkkkkkkkkkk="+conn);
Statement stmt=conn.createStatement();
ResultSet rs=stmt.executeQuery("select * from t_audit");
while(rs.next())
{
out.println(rs.getInt("audit_id"));
out.println(rs.getString("user_id"));
}
conn.close();
stmt.close();
rs.close();
%>
启动服务,运行,打印出结果,OK....