멀티태넌스 동작 확인
This commit is contained in:
@@ -1,10 +1,13 @@
|
||||
package com.eactive.eai.rms.data.config;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Properties;
|
||||
|
||||
import javax.persistence.EntityManagerFactory;
|
||||
import javax.sql.DataSource;
|
||||
|
||||
import org.hibernate.cfg.AvailableSettings;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.ComponentScan.Filter;
|
||||
@@ -13,10 +16,12 @@ import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
|
||||
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
|
||||
import org.springframework.orm.jpa.JpaTransactionManager;
|
||||
import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
|
||||
import org.springframework.orm.jpa.support.SharedEntityManagerBean;
|
||||
import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter;
|
||||
import org.springframework.transaction.TransactionManager;
|
||||
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
||||
|
||||
import com.eactive.eai.common.dao.Keys;
|
||||
import com.eactive.eai.data.jpa.BaseRepositoryImpl;
|
||||
import com.eactive.eai.rms.common.datasource.DataSourceTypeManager;
|
||||
import com.eactive.eai.rms.data.EMSDataSource;
|
||||
@@ -31,13 +36,17 @@ public class EMSTenantConfiguration {
|
||||
public LocalContainerEntityManagerFactoryBean entityManagerFactoryForEMS(
|
||||
@Qualifier(DataSourceTypeManager.MONITORING) DataSource dataSource,
|
||||
@Qualifier("hibernateProperties") Properties hibernateProperties) {
|
||||
|
||||
|
||||
LocalContainerEntityManagerFactoryBean bean = new LocalContainerEntityManagerFactoryBean();
|
||||
bean.setDataSource(dataSource);
|
||||
bean.setPackagesToScan("com.eactive.eai.data", "com.eactive.eai.rms.data", "com.eactive.apim.portal");
|
||||
bean.setJpaVendorAdapter(new HibernateJpaVendorAdapter());
|
||||
|
||||
bean.setJpaProperties(hibernateProperties);
|
||||
|
||||
Map<String, Object> settings = new HashMap<>();
|
||||
settings.put(AvailableSettings.DEFAULT_SCHEMA, System.getProperty(Keys.TABLE_OWNER_KEY));
|
||||
bean.setJpaPropertyMap(settings);
|
||||
|
||||
return bean;
|
||||
}
|
||||
|
||||
@@ -49,5 +58,12 @@ public class EMSTenantConfiguration {
|
||||
jpaTransactionManager.setEntityManagerFactory(entityManagerFactory);
|
||||
return jpaTransactionManager;
|
||||
}
|
||||
|
||||
@Bean("entityManagerForEMS")
|
||||
public SharedEntityManagerBean entityManager(@Qualifier("entityManagerFactoryForEMS") EntityManagerFactory entityManagerFactory) {
|
||||
SharedEntityManagerBean sharedEntityManagerBean = new SharedEntityManagerBean();
|
||||
sharedEntityManagerBean.setEntityManagerFactory(entityManagerFactory);
|
||||
return sharedEntityManagerBean;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user