diff --git a/spring-context-support/src/main/java/org/springframework/cache/transaction/TransactionAwareCacheDecorator.java b/spring-context-support/src/main/java/org/springframework/cache/transaction/TransactionAwareCacheDecorator.java index e4b045b231..a7c843ddb6 100644 --- a/spring-context-support/src/main/java/org/springframework/cache/transaction/TransactionAwareCacheDecorator.java +++ b/spring-context-support/src/main/java/org/springframework/cache/transaction/TransactionAwareCacheDecorator.java @@ -53,6 +53,12 @@ public class TransactionAwareCacheDecorator implements Cache { this.targetCache = targetCache; } + /** + * Return the target Cache that this Cache should delegate to. + */ + public Cache getTargetCache() { + return this.targetCache; + } @Override public String getName() { diff --git a/spring-context-support/src/test/java/org/springframework/cache/transaction/TransactionAwareCacheDecoratorTests.java b/spring-context-support/src/test/java/org/springframework/cache/transaction/TransactionAwareCacheDecoratorTests.java index ea1c194fee..16ee78c915 100644 --- a/spring-context-support/src/test/java/org/springframework/cache/transaction/TransactionAwareCacheDecoratorTests.java +++ b/spring-context-support/src/test/java/org/springframework/cache/transaction/TransactionAwareCacheDecoratorTests.java @@ -46,6 +46,13 @@ public class TransactionAwareCacheDecoratorTests { new TransactionAwareCacheDecorator(null); } + @Test + public void getTargetCache() { + Cache target = new ConcurrentMapCache("testCache"); + TransactionAwareCacheDecorator cache = new TransactionAwareCacheDecorator(target); + assertSame(target, cache.getTargetCache()); + } + @Test public void regularOperationsOnTarget() { Cache target = new ConcurrentMapCache("testCache");