Увеличить время ожидания для транзакции springFrameworkTemplate выполнить

У меня есть веб-приложение, которое запускается в WebSphere, поэтому в Total transaction lifetime timeout на Servers --> WebSphere application servers --> myServerName --> Container Services --> Transaction Service. настроено время ожидания 120 секунд.

Таким образом, если на ответ требуется более 120 секунд, произойдет исключение тайм-аута.

Теперь я бы увеличил значение тайм-аута для конкретной транзакции, выполняемой Spring framework transactionTemplate, код выглядит следующим образом:

transactionTemplate.execute( new TransactionCallbackWithoutResult( ) {

                        @Override
                        protected void doInTransactionWithoutResult(
                                TransactionStatus status) {
                            try {
                                // do something here that is no integration 
                                //to database
                            } catch ( BaseException e ) {
                                logger.error(
                                        "hit error ",
                                        e );
                                status.setRollbackOnly( );
                            }
                        }
                    } );

Я хотел бы увеличить этот тайм-аут транзакции до 300 секунд, потому что для его выполнения требуется больше времени, иногда оно превышает 120 секунд.

Любой способ сделать это? Есть ли какая-либо конфигурация или какой-либо метод вызова этого transactionTemplate для увеличения периода тайм-аута? Например, как .setTimeOut(300000);

Это то, что вы ищете docs.spring.io/autorepo/docs/spring-framework/5.0.3.RELEASE/‌…?

RedCollarPanda 23.03.2018 08:49

Я попробовал transactionTemplate.setTimeout( 10 );, он не сработал по таймауту через 10 секунд.

Panadol Chong 23.03.2018 09:43
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
2
766
0

Другие вопросы по теме