001
014
015 package com.liferay.portal.spring.transaction;
016
017 import com.liferay.portal.dao.jdbc.aop.DynamicDataSourceTargetSource;
018 import com.liferay.portal.dao.jdbc.aop.DynamicDataSourceTransactionInterceptor;
019 import com.liferay.portal.kernel.spring.util.FactoryBean;
020 import com.liferay.portal.kernel.util.InfrastructureUtil;
021
022
025 public class TransactionInterceptorFactoryBean
026 implements FactoryBean<TransactionInterceptor> {
027
028 public TransactionInterceptor create() {
029 DynamicDataSourceTargetSource dynamicDataSourceTargetSource =
030 (DynamicDataSourceTargetSource)
031 InfrastructureUtil.getDynamicDataSourceTargetSource();
032
033 if (dynamicDataSourceTargetSource == null) {
034 return new TransactionInterceptor();
035 }
036
037 DynamicDataSourceTransactionInterceptor
038 dynamicDataSourceTransactionInterceptor =
039 new DynamicDataSourceTransactionInterceptor();
040
041 dynamicDataSourceTransactionInterceptor.
042 setDynamicDataSourceTargetSource(dynamicDataSourceTargetSource);
043
044 return dynamicDataSourceTransactionInterceptor;
045 }
046
047 }