TransactionAspectSupport.currentTransactionStatus() reliably throws NoTransactionException

Issue: SPR-9144
This commit is contained in:
Juergen Hoeller
2014-10-27 15:47:52 +01:00
parent da612d079f
commit ff8655846d

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2013 the original author or authors.
* Copyright 2002-2014 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -111,10 +111,10 @@ public abstract class TransactionAspectSupport implements BeanFactoryAware, Init
*/
public static TransactionStatus currentTransactionStatus() throws NoTransactionException {
TransactionInfo info = currentTransactionInfo();
if (info == null) {
if (info == null || info.transactionStatus == null) {
throw new NoTransactionException("No transaction aspect-managed TransactionStatus in scope");
}
return currentTransactionInfo().transactionStatus;
return info.transactionStatus;
}