当前位置: 首页 > 面试题库 >

Oracle-Spring框架的连接池

东方俊杰
2023-03-14
问题内容

我们正在尝试借助Spring Framework实现Oracle连接池。我们正在使用DBCP连接池方法。但是,DBCP和spring之间的集成并不是很好。

我们面临的问题是,DBCP返回PoolableConnections对象,而Oracle期望使用OracleConnection对象。(引发ClassCastException)

看来此问题已在Oracle 11g中解决。但是,我对其他人如何使用针对Oracle
10g的spring框架(使用TOMCAT)实现Oracle连接池感到好奇。

我们使用Ibatis作为ORM框架。

我敢肯定有办法。任何帮助表示赞赏。


问题答案:

我将使用Oracle提供的解决方案,该解决方案包含在其ojdbc jar中。较旧的方法是使用
OracleConnectionPoolDataSource 类,但是现在您可以在常规 OracleDataSource
上设置参数并获得连接池。

在Spring中执行以下操作:

<bean id="datasource" class="oracle.jdbc.pool.OracleDataSource" destroy-method="close">
   <property name="connectionCachingEnabled" value="true" />
   <property name="URL" value="${jdbc.url}" />
   ...all your connection properties
   <property name="connectionCacheProperties">
      <props merge="default">
         <prop key="MinLimit>3</prop>
         <prop key="MaxLimit">20</prop>
      </props>
   </property>
</bean>


 类似资料:
  • 创建名为“step1”的bean时出错:设置bean属性“job repository”时无法解析对bean“job repository”的引用;嵌套异常为org.springframework.beans.factory.BeanCreationException:创建类路径资源[spring/batch/config/spring-batch-contextoriginal.xml]中定义的

  • JavaSpark框架使用嵌入式Jetty作为Web服务器。Jetty支持HikariCP等工具的连池,并在XML文件中提供配置选项。然而,根据这些帖子,Spark确实允许配置Jetty。有很多使用Spark的例子,但是它们要么不使用数据库,要么使用DriverManager连接到数据库。 是否可以通过Spark中的datasource和JNDI配置连接池?如果是,怎么做?

  • 我试图创建一个接受入站连接的Tcp服务器,并异步地向连接的客户端发送消息。有一个Tcp服务器的示例,但它使用的是网关,是请求/响应,不支持异步。 null 异常org.springframework.web.util.NestedServletException:请求处理失败;嵌套异常是org.springframework.messaging.messagehandlingException:无

  • 有人知道spring batch framework在尝试将某些数据存储在batch_*表中时使用了多少个连接吗? 我们正试图估计连接池大小,我们知道我们的域数据库需要多少连接,但我们在diff db中有批处理模式,并且希望正确设置池大小,因为我们从池中得到错误,例如无法对象数据库连接

  • 这是今天回答另一个问题的“副作用”。这更多的是好奇心而不是实际问题。 JavaSE7提供了Oracle所称的“fork/join框架”。这可能是将工作安排到多个处理器的一种更好的方法。虽然我理解它应该如何工作,但我无法理解它的优势所在,以及关于偷工作的说法。 也许其他人更了解为什么这种方法是可取的(而不是因为它有一个奇特的名字)。 分支/连接的底层原语是s,即s,其想法是要么立即执行工作[原文如此

  • 主要内容:Oracle RIGHT OUTER JOIN概述在本教程中,您将学习如何使用Oracle中的来连接两个或多个表。 Oracle RIGHT OUTER JOIN概述 假设有两个表和,以下语句显示了如何使用Oracle中的子句连接这两个表: 在这个语句中,和分别是左表和右表。 关键字是可选的,因此和效果是相同的。 下面是的工作原理。 表中的每行都与表中的行进行比较: 如果一对行满足连接谓词,则将两行的列值合并,以生成结果行,然后将其包含在结果集中