我是 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/