JBoss 数据库连接池

标签 jboss datasource connection-pooling

我是 jboss 的新手,我被要求将 jboss 连接池机制与现有的 Web 应用程序结合起来。考虑到 Web 应用程序数据库层已正确编写,即所有结果集、语句和连接在不需要时都正确关闭,在我正确配置 jboss 数据源后,我必须在我的 Web 应用程序中进行哪些代码更改。

任何人都可以指点我在网络应用程序中使用 jboss 数据源的教程或代码示例。

最佳答案

首先按名称创建一个xml文件 xxx-ds.xml 并将这个文件放在 server/default/deploy/xxx-ds.xml

<datasources>
<local-tx-datasource>
<jndi-name>/jdbc/Exp</jndi-name>
<type-mapping>SQL</type-mapping>
<connection-url>jdbc:microsoft:sqlserver://          </connection-url>
<driver-class>com.microsoft.jdbc.sqlserver.SQLServerDriver</driver-class>
<user-name></user-name>
<password></password>
<min-pool-size>5</min-pool-size>
<max-pool-size>1000</max-pool-size>
</local-tx-datasource>
</datasources>

jboss-web.xml

<jboss-web>
<!--  <security-domain flushOnSessionInvalidation="false"/>-->
<!--  <context-root>/BSI</context-root>-->
  <resource-ref>
        <description>Database connection resource</description>
        <res-ref-name>jdbc/Exp</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <jndi-name>java:/jdbc/Exp</jndi-name>
        <res-auth>Container</res-auth>
    </resource-ref>
</jboss-web>

web.xml

<resource-ref>
    <description>Database connection resource</description>   
    <res-ref-name>jdbc/Exp</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
</resource-ref>

现在在您的 .java文件

javax.naming.Context ctx1 = new javax.naming.InitialContext();
javax.sql.DataSource ds = (javax.sql.DataSource) ctx1.lookup("java:comp/env/jdbc/Exp");
con = ds.getConnection();

***** 确保资源引用名称在所有地方都应该相同

关于JBoss 数据库连接池,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/820116/

相关文章:

EJB 离线时的 JavaEE 通知

java - 为什么我们在同一台服务器上使用多个应用程序服务器实例

java - spring3 ibatis2.x 多数据源

java - 如何使用 commons-dbcp BasicDataSource 为 getConnection 设置超时?

Android 应用程序的 Java 后端建议

java - 将消息发布到远程 JMS 提供者

java - 在 wildfly 8 中使用 apache commons BasicDataSource

java - 启动后定义的Spring Boot DataSource

java - 我应该使用连接池吗?

java - 关于servlet应用程序中连接池的一些问题