Browse Source

WebSphereUowTransactionManager sets timeout for actual transaction only

Closes gh-25132
5.0.x
Juergen Hoeller 6 years ago
parent
commit
b2916392fa
  1. 8
      spring-tx/src/main/java/org/springframework/transaction/jta/WebSphereUowTransactionManager.java

8
spring-tx/src/main/java/org/springframework/transaction/jta/WebSphereUowTransactionManager.java

@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2017 the original author or authors. * Copyright 2002-2020 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -297,14 +297,14 @@ public class WebSphereUowTransactionManager extends JtaTransactionManager
SuspendedResourcesHolder suspendedResources = (!joinTx ? suspend(null) : null); SuspendedResourcesHolder suspendedResources = (!joinTx ? suspend(null) : null);
UOWActionAdapter<T> action = null; UOWActionAdapter<T> action = null;
try { try {
if (definition.getTimeout() > TransactionDefinition.TIMEOUT_DEFAULT) { boolean actualTransaction = (uowType == UOWManager.UOW_TYPE_GLOBAL_TRANSACTION);
if (actualTransaction && definition.getTimeout() > TransactionDefinition.TIMEOUT_DEFAULT) {
uowManager.setUOWTimeout(uowType, definition.getTimeout()); uowManager.setUOWTimeout(uowType, definition.getTimeout());
} }
if (debug) { if (debug) {
logger.debug("Invoking WebSphere UOW action: type=" + uowType + ", join=" + joinTx); logger.debug("Invoking WebSphere UOW action: type=" + uowType + ", join=" + joinTx);
} }
action = new UOWActionAdapter<>( action = new UOWActionAdapter<>(definition, callback, actualTransaction, !joinTx, newSynch, debug);
definition, callback, (uowType == UOWManager.UOW_TYPE_GLOBAL_TRANSACTION), !joinTx, newSynch, debug);
uowManager.runUnderUOW(uowType, joinTx, action); uowManager.runUnderUOW(uowType, joinTx, action);
if (debug) { if (debug) {
logger.debug("Returned from WebSphere UOW action: type=" + uowType + ", join=" + joinTx); logger.debug("Returned from WebSphere UOW action: type=" + uowType + ", join=" + joinTx);

Loading…
Cancel
Save