`
Blackbaby
  • 浏览: 179464 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

JBoss-4.2.3GA配置MySQL数据库连接池

    博客分类:
  • java
阅读更多

1.将mysql的JDBC驱动放到的JBOSS_HOME\server\default\lib 下

 

2.把JBOSS_HOME\docs\examples\jca\mysql-ds.xml 复制到JBOSS_HOME\server\default\deploy目录下,修改mysql-ds.xml文件

<jndi-name>MySqlDS</jndi-name>
<use-java-context>false</use-java-context>
<connection-url>jdbc:mysql://localhost:3306/synnex</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<user-name>root</user-name>
<password>8525330</password>

 

3.修改JBOSS_HOME\server\default\conf\standardjbosscmp-jdbc.xml

<defaults>
      <datasource>java:/MySqlDS</datasource>
      ......
</defaults>

 

4.修改JBOSS_HOME\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">数据库名</module-option>
                <module-option name ="userName">root </module-option>
                <module-option name ="password">8525330 </module-option>
                <module-option name="managedConnectionFactoryName"> jboss.jca:service=LocalTxCM,name=MySqlDS 
                </module-option>
           </login-module>
      </authentication>
</application-policy>

 

5.测试代码

  

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Hashtable;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;

public class Client {
        public static void main(String[] args) {
	Hashtable props = new Hashtable();
	props.put(Context.INITIAL_CONTEXT_FACTORY,"org.jboss.naming.NamingContextFactory");
	props.put(Context.PROVIDER_URL, "localhost:1099");
	props.put("java.naming.rmi.security.manager", "yes");
	props.put(Context.URL_PKG_PREFIXES, "org.jboss.naming");
                try {
	   Context ctx1 = new javax.naming.InitialContext(props);
	   DataSource ds = (DataSource) ctx1.lookup("java:/MySqlDS");//这个地方也可以是"MySqlDS"
	   Connection conn = ds.getConnection();
	   Statement stmt = conn.createStatement();
	   ResultSet rs = stmt.executeQuery("select * from test ");	   while (rs.next()) {
		System.out.println(rs.getString(1));// 取出一个字段
	  }
	   rs.close();
	   stmt.close();
	   conn.close();
	} catch (NamingException e) {
	       e.printStackTrace();
	} catch (SQLException e1) {
	       e1.printStackTrace();
	} catch (Exception e1) {
	       e1.printStackTrace();
	}
       }
}

 

 

分享到:
评论
2 楼 Blackbaby 2010-08-03  
hareamao 写道
补充说明一下,第4段是专门为jaas的datasource做配置的,如果不用,可以省略。

 
1 楼 hareamao 2010-07-23  
补充说明一下,第4段是专门为jaas的datasource做配置的,如果不用,可以省略。

相关推荐

Global site tag (gtag.js) - Google Analytics