LDAP-168, LDAP-244: Added warning when using the default TempEntryRenamingStrategy.

Fixed failing test.
This commit is contained in:
Mattias Hellborg Arthursson
2013-08-12 09:03:42 +02:00
parent d08192d8aa
commit 45fcf782cf
6 changed files with 34 additions and 19 deletions

View File

@@ -199,4 +199,9 @@ public class ContextSourceAndDataSourceTransactionManager extends
"Transaction manager [" + getClass().getName()
+ "] does not support transaction suspension");
}
public void afterPropertiesSet() {
super.afterPropertiesSet();
ldapManagerDelegate.checkRenamingStrategy();
}
}

View File

@@ -17,7 +17,6 @@ package org.springframework.ldap.transaction.compensating.manager;
import org.springframework.ldap.core.ContextSource;
import org.springframework.ldap.transaction.compensating.TempEntryRenamingStrategy;
import org.springframework.ldap.transaction.compensating.manager.ContextSourceTransactionManagerDelegate;
import org.springframework.orm.hibernate3.HibernateTransactionManager;
import org.springframework.transaction.TransactionDefinition;
import org.springframework.transaction.TransactionException;
@@ -199,5 +198,9 @@ public class ContextSourceAndHibernateTransactionManager extends HibernateTransa
"Transaction manager [" + getClass().getName()
+ "] does not support transaction suspension");
}
public void afterPropertiesSet() {
super.afterPropertiesSet();
ldapManagerDelegate.checkRenamingStrategy();
}
}

View File

@@ -15,6 +15,7 @@
*/
package org.springframework.ldap.transaction.compensating.manager;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.ldap.core.ContextSource;
import org.springframework.ldap.transaction.compensating.TempEntryRenamingStrategy;
import org.springframework.ldap.transaction.compensating.UnbindOperationExecutor;
@@ -111,7 +112,7 @@ import org.springframework.transaction.support.DefaultTransactionStatus;
* @since 1.2
*/
public class ContextSourceTransactionManager extends
AbstractPlatformTransactionManager {
AbstractPlatformTransactionManager implements InitializingBean {
private static final long serialVersionUID = 7138208218687237856L;
@@ -187,4 +188,8 @@ public class ContextSourceTransactionManager extends
public void setRenamingStrategy(TempEntryRenamingStrategy renamingStrategy) {
delegate.setRenamingStrategy(renamingStrategy);
}
public void afterPropertiesSet() throws Exception {
delegate.checkRenamingStrategy();
}
}

View File

@@ -15,9 +15,6 @@
*/
package org.springframework.ldap.transaction.compensating.manager;
import javax.naming.NamingException;
import javax.naming.directory.DirContext;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.ldap.core.ContextSource;
@@ -28,6 +25,9 @@ import org.springframework.transaction.compensating.support.AbstractCompensating
import org.springframework.transaction.compensating.support.CompensatingTransactionHolderSupport;
import org.springframework.transaction.compensating.support.DefaultCompensatingTransactionOperationManager;
import javax.naming.NamingException;
import javax.naming.directory.DirContext;
/**
* This delegate performs all the work for the
* {@link ContextSourceTransactionManager}. The work is delegated in order to
@@ -118,4 +118,11 @@ public class ContextSourceTransactionManagerDelegate extends
public void setRenamingStrategy(TempEntryRenamingStrategy renamingStrategy) {
this.renamingStrategy = renamingStrategy;
}
void checkRenamingStrategy() {
if(renamingStrategy instanceof DefaultTempEntryRenamingStrategy) {
log.warn("Using DefaultTempEntryRenamingStrategy. This is not advised for more complex use; " +
"see reference documentation for additional information on how to configure TempEntryRenamingStrategy.");
}
}
}