From 4efe6a8a5c86fbe241df165959c046238c2ea220 Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Mon, 22 Dec 2014 14:01:19 +0100 Subject: [PATCH] AbstractFallbackTransactionAttributeSource's DefaultCacheKey takes targetClass into account (again) Issue: SPR-12536 --- .../AbstractFallbackCacheOperationSource.java | 9 +++++---- .../AbstractFallbackTransactionAttributeSource.java | 4 ++-- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/spring-context/src/main/java/org/springframework/cache/interceptor/AbstractFallbackCacheOperationSource.java b/spring-context/src/main/java/org/springframework/cache/interceptor/AbstractFallbackCacheOperationSource.java index 978dbd8c364..d71a16efdeb 100644 --- a/spring-context/src/main/java/org/springframework/cache/interceptor/AbstractFallbackCacheOperationSource.java +++ b/spring-context/src/main/java/org/springframework/cache/interceptor/AbstractFallbackCacheOperationSource.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 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. @@ -212,13 +212,14 @@ public abstract class AbstractFallbackCacheOperationSource implements CacheOpera return false; } DefaultCacheKey otherKey = (DefaultCacheKey) other; - return (this.method.equals(otherKey.method) && ObjectUtils.nullSafeEquals(this.targetClass, - otherKey.targetClass)); + return (this.method.equals(otherKey.method) && + ObjectUtils.nullSafeEquals(this.targetClass, otherKey.targetClass)); } @Override public int hashCode() { - return this.method.hashCode() * 29 + (this.targetClass != null ? this.targetClass.hashCode() : 0); + return this.method.hashCode() + (this.targetClass != null ? this.targetClass.hashCode() * 29 : 0); } } + } diff --git a/spring-tx/src/main/java/org/springframework/transaction/interceptor/AbstractFallbackTransactionAttributeSource.java b/spring-tx/src/main/java/org/springframework/transaction/interceptor/AbstractFallbackTransactionAttributeSource.java index d1213efe9d5..c9f9656bb12 100644 --- a/spring-tx/src/main/java/org/springframework/transaction/interceptor/AbstractFallbackTransactionAttributeSource.java +++ b/spring-tx/src/main/java/org/springframework/transaction/interceptor/AbstractFallbackTransactionAttributeSource.java @@ -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. @@ -226,7 +226,7 @@ public abstract class AbstractFallbackTransactionAttributeSource implements Tran @Override public int hashCode() { - return this.method.hashCode(); + return this.method.hashCode() + (this.targetClass != null ? this.targetClass.hashCode() * 29 : 0); } }