transactionAttributeSource.setRepositoryInformation(repositoryInformation);
TransactionInterceptor transactionInterceptor = new TransactionInterceptor(null, transactionAttributeSource);
transactionInterceptor.setTransactionManagerBeanName(transactionManagerName);
transactionInterceptor.setBeanFactory(beanFactory);
transactionInterceptor.afterPropertiesSet();
factory.addAdvice(transactionInterceptor);
}
// The section below contains copies of two core Spring classes that slightly modify the algorithm transaction