2015-11-26 2 views
0

В моем приложении я использую декларативное управление транзакциями Spring 4.0 и спящий режим на уровне dao ... Я использую шаблон спящего режима для вставки и обновлений. ... так как мне нужно вставить большое количество записей, которые я вызываю при очистке и очистке методов на шаблоне спящего режима. После каждых 50 записей ... Но то, что я наблюдаю, это блокировка этой конкретной таблицы во время обработки. .. только после того, как все записи вставлены в db, я могу запустить запрос на db ... Правильно ли это поведение? Имеет ли оно какое-либо правильное решениеСпособы очистки и очистки на шаблоне спящего режима блокируют таблицу базы данных

+0

Вы изменили режим очистки по умолчанию? Попробуйте вот так: Session session = sessionFactory.openSession(); session.setFlushMode (FlushMode.AUTO); –

+0

Я не менял значения по умолчанию, а во-вторых, я не использую сессионную фабрику. Я использую шаблон hibernate напрямую и звоню на флеш и очищаюсь от этого – user3534483

ответ

0

Попробуйте добавить следующие свойства источника данных в конфигурацию источника данных.

<property name="maxActive" value="100"></property> 
<property name="maxIdle" value="30"></property> 
<property name="maxWait" value="10000"></property> 

Проверьте также this. Надеюсь, это поможет.

+0

. Я использую hibernate 4 .. я не думаю, что выше свойства помогут ... Мой вопрос здесь. .Эта функция спящего режима для блокировки базы данных в приведенной выше ситуации. – user3534483

+0

Вы пытались добавить это или просто принять? Вот еще одна ссылка, как вы можете добавить эти свойства. http://forum.spring.io/forum/spring-projects/data/33265-hibernate-template-not-closing-connections –

+0

Я использую websphere как сервер приложений и настраиваю datasource на уровне сервера, где хорошо управляются соединения. Вы хотите, чтобы я менял ds-конфигурации на уровне сервера? – user3534483

Смежные вопросы