From 82ea9ece5c56309f98984778cd03970fbe479872 Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Wed, 1 Jan 2014 18:36:48 +0100 Subject: [PATCH] Refined logging to include target class for each transactional method name Also simplified cache key 'hashCode' implementation, relying on 'equals' to differentiate between same method on different target classes. Issue: SPR-11267 --- .../AbstractFallbackTransactionAttributeSource.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) 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 9e56e887d8..bc32b37667 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-2012 the original author or authors. + * Copyright 2002-2013 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. @@ -104,7 +104,9 @@ public abstract class AbstractFallbackTransactionAttributeSource implements Tran } else { if (logger.isDebugEnabled()) { - logger.debug("Adding transactional method '" + method.getName() + "' with attribute: " + txAtt); + Class classToLog = (targetClass != null ? targetClass : method.getDeclaringClass()); + logger.debug("Adding transactional method '" + classToLog.getSimpleName() + "." + + method.getName() + "' with attribute: " + txAtt); } this.attributeCache.put(cacheKey, txAtt); } @@ -225,7 +227,7 @@ public abstract class AbstractFallbackTransactionAttributeSource implements Tran @Override public int hashCode() { - return this.method.hashCode() * 29 + (this.targetClass != null ? this.targetClass.hashCode() : 0); + return this.method.hashCode(); } }