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 8eb1eb9117..222ee09591 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. diff --git a/spring-context/src/main/java/org/springframework/cache/interceptor/MethodCacheKey.java b/spring-context/src/main/java/org/springframework/cache/interceptor/MethodCacheKey.java index c164c5e3bb..a74f3a2038 100644 --- a/spring-context/src/main/java/org/springframework/cache/interceptor/MethodCacheKey.java +++ b/spring-context/src/main/java/org/springframework/cache/interceptor/MethodCacheKey.java @@ -23,6 +23,7 @@ import org.springframework.util.ObjectUtils; /** * Represent a method on a particular {@link Class} and is suitable as a key. + * *
Mainly for internal use within the framework. * * @author Costin Leau @@ -35,12 +36,14 @@ public final class MethodCacheKey { private final Class> targetClass; + public MethodCacheKey(Method method, Class> targetClass) { Assert.notNull(method, "method must be set."); this.method = method; this.targetClass = targetClass; } + @Override public boolean equals(Object other) { if (this == other) { @@ -50,13 +53,14 @@ public final class MethodCacheKey { return false; } MethodCacheKey otherKey = (MethodCacheKey) 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 bc32b37667..c918194cd8 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. @@ -227,7 +227,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); } }