java - Tomcat8 使用与 OracleDB 的连接池的问题
问题描述
我们有一个由第三方供应商提供的应用程序,它在 Tomcat 8 和 JDK 8 上运行到带有 ojdbc7.jar 和 xdb6.jar 驱动程序的 Oracle 12 DB。该应用程序有效,但比预期的要慢。在调查时,应用程序似乎配置为使用连接池,但应用程序似乎正在为每个查询创建新连接,而不是使用任何最初创建的到数据库的连接。
不幸的是,我无权访问第 3 方应用程序的代码。但是,希望能够了解我在 Tomcat 设置中缺少什么来进行池化工作。
我尝试通过 Apache 的文档了解较旧的 Oracle 连接,并尝试在 Web 上找到其他选项。
<Resource name="jdbc/DataSource" auth="Container"
type="javax.sql.DataSource"
driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:@localhost:1521:XE"
username="myProxyUser" password="myPassword"
initialSize="5" maxTotal="100" maxIdle="-1"
maxWaitMillis="30000"
validationQuery="select 1 from dual"
testOnBorrow="true"
accessToUnderlyingConnectionAllowed = "true"
connectionProperties="defaultRowPrefetch=100"
removeAbandoned = "true"
removeAbandonedTimeout = "30"/>
解决方案
您可以通过定义类型和工厂来指定池
type="javax.sql.DataSource"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
推荐阅读
- javascript - Gulp 手表没有完成
- css - 使物体变粘似乎不起作用
- ruby - Ruby 中 @var 和 attr_accessor 之间的奇怪行为差异
- java - 值得使用 Hibernate Bytecode Enhancement 机制吗?
- python - PYTHON/SQL 从表中删除数据以管理数据库
- firebase - 如何在不受支持的设备(如 WebKit Safari)上禁用 nuxt-fire 消息传递(fcm)?
- css - CSS .menu、ol、ul 填充
- java - REST API 和 Glassfish 中的 JSON 响应
- c# - 构建后找不到 Json 文件
- python - Python - 编写特定大小的 zip 非常不可靠