Разница между LocalSessionFactoryBean.hibernateProperties.hibernate.c3p0.timeout и HibernateTransactionManager.defaultTimeout - PullRequest
1 голос
/ 23 января 2020

В коде нашего проекта мы инициализируем подчиненную БД Spring HibernateTransactionManager через xml, как показано ниже:

<bean id="slaveSessionFactory"
        class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">

        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">com.swiggy.delivery.deliveryboy.model.dao.CustomMySql5Dialect</prop>
                <prop key="hibernate.show_sql">${hibernate.slave.showSql}</prop>
                <prop key="hibernate.format_sql">${hibernate.slave.formatSql}</prop>
                <prop key="hibernate.connection.url">${hibernate.slave.connection.url}</prop>
                <prop key="hibernate.connection.driver_class">com.mysql.jdbc.ReplicationDriver</prop>
                <prop key="hibernate.connection.username">${hibernate.slave.connection.username}</prop>
                <prop key="hibernate.connection.password">${hibernate.slave.connection.password}</prop>
                <prop key="hibernate.c3p0.min_size">${hibernate.slave.c3p0.min_size}</prop>
                <prop key="hibernate.c3p0.max_size">${hibernate.slave.c3p0.max_size}</prop>
                <prop key="hibernate.c3p0.timeout">300</prop>
                <prop key="hibernate.c3p0.max_statements">0</prop>
                <prop key="hibernate.c3p0.idle_test_period">3000</prop>
                <prop key="hibernate.c3p0.max_idle_time_excess_connections">60</prop>
            </props>
        </property>
</bean>

<bean id="slaveTransactionManager"
        class="org.springframework.orm.hibernate4.HibernateTransactionManager">
        <property name="sessionFactory" ref="slaveSessionFactory" />
        <property name="defaultTimeout" value="10" />
</bean>

Здесь я хочу понять, что для таймаутов чтения БД какое значение будет использоваться во время транзакция, значение hibernate.c3p0.timeout 300 мс или значение defaultTimeout 10 мс.

Я попытался go в документах Spring и Hibernate для этого, но не смог получить четкий ответ о том, defaultTImeout переопределит hibernate.c3p0.timeout или нет.

Я предполагаю, что выбранное значение тайм-аута будет 300 мс. Но не могу подтвердить это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...