Quarkus: изменить таймаут через @TransactionConfiguration можно только на начальном уровне транзакции.JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Quarkus: изменить таймаут через @TransactionConfiguration можно только на начальном уровне транзакции.

Сообщение Anonymous »

Я пытаюсь увеличить время ожидания транзакции в приложении Java Quarkus. Я уже нашел ответы на несколько старых вопросов, но ни один из них у меня не работает.
Решение, которое также упоминается в официальной документации, — это добавление двух аннотаций на уровне метода:

Код: Выделить всё

@Transactional()
@TransactionConfiguration(timeout = 360)
public void savePlan( Map< PlantId, CalendarData > aCalendarsMap,
SPScenario aScenario, int aCNumber )
{
FlowPlan plan= createOrGetPlanBase( aScenario, aCNumber );

for( CalendarData calendarData : aCalendarsMap.values() )
{
ConstraintsCalendar calendar = plan.getCalendar( constraintsCalendarData.getPlantUnit() );
if( calendar == null )
{
calendar = plan.createCalendar( constraintsCalendarData.getPlantUnit() );
}
calendar.createConstraints( calendarData.getConstraints() );

em.flush();
em.detach( calendar );
}
}
При запуске этого метода я получаю это исключение, которое можно найти в этом исходном коде.

Изменение тайм-аута с помощью @TransactionConfiguration можно выполнить только на
начальном уровне транзакции

Я также попробовал добавить аннотацию 2 поверх вызывающего метода savePlan(), а также уровень класса обслуживания, ошибок не происходит, но увеличение таймаута не работает (я получаю таймаут через 1 минуту, что является значением по умолчанию).
Что у меня уже сработало, так это увеличение таймаута для всего приложения, добавив эту конфигурацию в Properties.yml, но пока я хочу этого избежать.

Код: Выделить всё

quarkus:
transaction-manager:
default-transaction-timeout: 360s
Одна деталь о очистке/отсоединении менеджера объектов: он был добавлен для повышения производительности, поскольку у нас были проблемы с задержкой и памятью (мы использовали Wildfly до недавнего перехода на Quarkus).< /p>
Кто-нибудь знает, как правильно увеличить время ожидания транзакции в приложении Quarkus?
Спасибо.

Подробнее здесь: https://stackoverflow.com/questions/792 ... one-at-the
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»