Свойство initSql и DriverManagerDataSource - PullRequest
0 голосов
/ 22 сентября 2011

Я настроил следующее DriverManagerDataSource для моих юнитов

<bean id="myDS"
        class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="${ds.driver}"/>
    <property name="url" value="${ds.url}"/>
    <property name="username" value="${ds.username}"/>
    <property name="password" value="${ds.password}"/>
</bean>

Теперь я хочу добавить свойство initSql, чтобы заставить DS выполнять команду sql во время создания соединения.Я попробовал следующую конфигурацию, но она не работает.

<bean id="myDS"
        class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="${ds.driver}"/>
    <property name="url" value="${ds.url}"/>
    <property name="username" value="${ds.username}"/>
    <property name="password" value="${ds.password}"/>
    <property name="connectionProperties">
      <props>
        <prop key="initSql">select set_limit(0.1)</prop>
      </props>
    </property>
  </bean>

Как добавить свойство initSql в DriverManagerDataSource?

1 Ответ

0 голосов
/ 22 сентября 2011

Вы можете взглянуть на Базовый источник данных DBCP , который поддерживает указание набора sqls, который будет выполняться во время создания соединений.

DriverManagerDatasource не рекомендуется использовать для развертывания, поскольку он не выполняет никаких пулов соединений. Лучше использовать DBCP или CP30.

...