【发布时间】:2015-10-14 15:40:41
【问题描述】:
我试图了解部署在 JBOSS 下的 java 应用程序中的数据库连接池。顺便说一句,数据库连接没有问题。 在 JBOSS 应用服务器中设置了一个数据库连接池,如下所示:
<datasource jta="false" jndi-name="java:/testDS" pool-name="testDS" enabled="true" use-java-context="true">
<connection-url>jdbc:oracle:thin:@xxx</connection-url>
<driver>oracle</driver>
<pool>
<min-pool-size>2</min-pool-size>
<max-pool-size>15</max-pool-size>
<prefill>true</prefill>
</pool>
<security>
<user-name>admin</user-name>
<password>admin</password>
</security>
</datasource>
然后我获取连接的 java 代码如下所示:
String jndiName = "java:/testDS";
InitialContext jndiCntx = new InitialContext();
DataSource ds = (DataSource) jndiCntx.lookup(jndiName);
Connection connection = ds.getConnection();
上面的代码是否使用了连接池?如果是,以下代码的目的是什么?我有点困惑。这2个代码sn-ps有什么区别?
InitialContext jndiCntx = new InitialContext();
ConnectionPoolDataSource cpds = (ConnectionPoolDataSource) jndiCntx.lookup(jndiName);
PooledConnection pc = cpds.getPooledConnection();
Connection connection = pc.getConnection();
【问题讨论】:
标签: java jakarta-ee jboss database-connection connection-pooling