/ / Време за изчакване на управление на транзакциите - mysql, sql, пролет, хибернация

Проблем с времето за управление на транзакции - mysql, sql, spring, hibernate

Опитвам се да пусна заявка от нашето приложениечрез пружини 2.5 и хибернация 3, Но заявката не е нито изчерпана, нито връщане на резултати (заявката прекъсва), когато пускам същото запитване от браузъра на заявките, той работи добре.

Въпреки че увеличих времето за изчакване на заявката, все още не мога да извлека резултата.

Опитах се да увеличи времето за изпълнение на заявката, но не успя да върне записи

<property name="javax.persistence.query.timeout" value="3000" />

<tx:advice id="defaultTxAdvice" transaction-manager="transactionManager">
<tx:attributes>
<!-- Keep SequenceService in a isolation transaction -->
<tx:method name="get*" read-only="true" />
<!-- By default, A runtime exception will rollback transaction. -->
<tx:method name="*" timeout="100" rollback-for="ApplicationException" />
</tx:attributes>
</tx:advice>

Всеки вид помощ / предложение ще бъде много благодарен

Отговори:

0 за отговор № 1

Това са мислите ми по въпроса тук. Тъй като не намирам никакви подходящи кодове тук ..

  1. Поради изпълнение на множество заявки при едно извличане (проблеми като n + 1 проблем в хибернация). намек:Уверете се, че сте задали показването на SQL стойност като истина в машината за разработчици
  2. Поради неправилна обработка на заявки в код,като ако итерирате за n брой време. Сървърът на базата данни ще го разглежда като някаква заплаха и той се премества в състояние на заключване и спира изпълнението на заявки за известно време.
  3. Неправилно боравене с времето за изчакване на транзакцията, като ако увеличавате стойността на времето за изчакване на транзакцията, то вероятно ще заключи базата данни за дълго време.

Има и други възможности, но не мога да правя никакви предложения, освен ако не видя кода.