Миграция с Oracle на MySQL в приложении Java Spring: пул соединений - PullRequest
0 голосов
/ 25 сентября 2019

Я работаю с приложением Java Spring, которое в основном выполняет операции с базой данных.Входные данные - это строки базы данных, а выходные данные - строки базы данных в разных таблицах.В настоящее время он использует базу данных Oracle 10g.В настоящее время анализируется новое требование о миграции на MySQL.

Текущее соединение оракула настраивается с использованием пула соединений.Я пытаюсь сделать то же самое с подключением MySQL, и изучаю, какой DataSource использовать.В соединении оракула используется oracle.jdbc.pool.OracleDataSource.Я думал об использовании com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource для MySQL, но у него нет свойств, которые имел источник данных 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 с такими же или похожими свойствами, как указано выше.Какой источник данных я должен использовать?

PS: приложение использует много запросов в коде Java, поэтому об использовании инфраструктуры ORM, такой как hibernate, не может быть и речи.

1 Ответ

0 голосов
/ 25 сентября 2019

Я использовал 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}"/>
...