【问题标题】:Migration from Oracle to MySQL in Java Spring Application: Connection Pooling在 Java Spring 应用程序中从 Oracle 迁移到 MySQL:连接池
【发布时间】:2020-01-25 07:25:12
【问题描述】:

我正在使用一个主要执行数据库操作的 Java Spring 应用程序。输入是数据库行,输出是不同表中的数据库行。目前它使用Oracle 10g 数据库。目前正在分析一项关于迁移到 MySQL 的新需求。

当前的 oracle 连接是使用连接池设置的。我正在尝试对 MySQL 连接做同样的事情,并且正在研究使用哪个 DataSource。在oracle连接中,使用oracle.jdbc.pool.OracleDataSource。我曾想过为 MySQL 使用 com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource,但它不具备 oracle 数据源所具有的属性,而且我还没有在数据库上工作过那么久知道所需属性的等效性。当前的属性设置如下:

<property name="connectionCacheName" value="App_db_connection_pool" />
<property name="connectionCacheProperties">
    <props>
        <prop key="MinLimit">${MinLimit}</prop>
        <prop key="MaxLimit">${MaxLimit}</prop>
        <prop key="InitialLimit">${InitialLimit}</prop>
        <prop key="InactivityTimeout">${InactivityTimeout}</prop>
        <prop key="ConnectionWaitTimeout">${WaitTimeout}</prop>
    </props>
</property>

我需要使用与上述相同或相似的属性设置 MySQL 连接。我应该使用什么数据源?

P.S.:该应用程序在 Java 代码中使用了大量查询,因此使用像 hibernate 这样的 ORM 框架是不可能的。

【问题讨论】:

    标签: mysql spring oracle jdbc connection-pooling


    【解决方案1】:

    最后我使用了 C3P0。对应的属性如下:

      <property name="initialPoolSize" value="${InitialLimit}"/>
      <property name="minPoolSize" value="${MinLimit}"/>
      <property name="maxPoolSize" value="${MaxLimit}"/>
      <property name="maxIdleTimeExcessConnections" value="${InactivityTimeout}"/>
      <property name="checkoutTimeout" value="${WaitTimeout}"/>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-23
      • 1970-01-01
      • 2016-07-16
      • 2012-12-13
      • 2011-08-25
      • 1970-01-01
      • 2012-11-26
      • 1970-01-01
      相关资源
      最近更新 更多