Установка тайм-аута транзакции JBoss?

У нас есть инициированная задача сервиса таймера в JBoss 5.1.0. Приложение GA и проблема - то, что мы не можем изменить временной лимит транзакции. Эта долгая индексация Lucene может занять больше времени, чем значение по умолчанию 300 вторых пределов.

Вопрос состоит в том, как изменить значение тайм-аута, добавив @TransactionTimeout (1800) к методу рабочего, или класс не имел никакого эффекта.

Править: Установка этого в deploy/transaction-jboss-beans.xml хорошо работает:

<property name="transactionTimeout">1800</property>

но аннотация, кажется, не имеет эффект или на таймер инициируемый или на нормальный EJBs не сохраняющий состояние.

7
задан Petteri Hietavirta 2 February 2010 в 16:41
поделиться

2 ответа

TransactionTimeout это MDB? у них другая аннотация. Ссылка дает различные варианты установки тайм-аута передачи либо с помощью кода в файлах конфигурации.

1
ответ дан 6 December 2019 в 19:36
поделиться

Вы можете вручную объявить период тайм-аута и создать таймер в Session Bean.

Ниже приведен пример кода моего компонента без сохранения состояния:

public void createTimer(String timerName) {
  //...
  sessionContext.getTimerService().createTimer(timeLongValue, timerName);
  //...
}

@Timeout
public void timeOutHandler(Timer timer){
  // code  
}
1
ответ дан 6 December 2019 в 19:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: