указать тайм-аут запроса при использовании подсказки toplink. - PullRequest
1 голос
/ 19 марта 2010

Для Glassfish v2, я искал в Интернете, и я не могу найти, чтобы указать время ожидания запроса при использовании подсказки TopLink. У нас есть еще один вариант перехода на EclipseLink, но это невозможно.

попробовал решение в http://forums.oracle.com/forums/thread.jspa?threadID=974732&tstart=-1 но кажется, что DatabaseQuery, в котором можно установить значение тайм-аута, на самом деле предназначен для Toplink, а не для TopLink.

Есть ли у нас какой-либо другой способ указать драйверу JDBC для этого значения времени ожидания, кроме подсказки запроса? Мне нужно сделать это на основе запросов, а не на основе системы (то есть просто изменить значение DISTRIBUTED_LOCK_TIMEOUT)

1 Ответ

0 голосов
/ 21 марта 2010

Согласно документации Toplink JPA о подсказках запроса :

Вы можете использовать следующие TopLink JPA советы (для более подробной информации о Настройки, пожалуйста, обратитесь к TopLink документация)

  • fetchSize Принимает целое число. Позволяет пользователь, чтобы установить fetchSize для TopLink запрос.
  • referenceClass Принимает класс. Переопределить целевой класс запрос.
  • cacheUsage Принимает Integer. Описывает, как TopLink делает использование кэша для запросов объектов.
  • Обновить Принимает логическое значение. Установите в значение true, если кэш должен обновляться с база данных.
  • lockMode Принимает Integer. Набор для пессимистичной блокировки.
  • выражение Принимает объект выражения TopLink. Используется для запросов используя TopLink API.
  • Тайм-аут Принимает Integer. Устанавливает время ожидания запроса в milseconds.

Итак, я понимаю, что вы должны быть в состоянии сделать это:

Query queryEmployeesByFirstName = em.createNamedQuery("findAllEmployeesByFirstName");
queryEmployeesByFirstName.setHint("timeout", new Integer(5000));

Не проверено, хотя.

...