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 @Override
029 public TransactionInterceptor create() {
030 DynamicDataSourceTargetSource dynamicDataSourceTargetSource =
031 (DynamicDataSourceTargetSource)
032 InfrastructureUtil.getDynamicDataSourceTargetSource();
033
034 if (dynamicDataSourceTargetSource == null) {
035 return new TransactionInterceptor();
036 }
037
038 DynamicDataSourceTransactionInterceptor
039 dynamicDataSourceTransactionInterceptor =
040 new DynamicDataSourceTransactionInterceptor();
041
042 dynamicDataSourceTransactionInterceptor.
043 setDynamicDataSourceTargetSource(dynamicDataSourceTargetSource);
044
045 return dynamicDataSourceTransactionInterceptor;
046 }
047
048 }