멀티태넌스 동작 확인

This commit is contained in:
Rinjae
2025-09-12 14:46:15 +09:00
parent ff99e7caad
commit 7d41f18429
5 changed files with 35 additions and 20 deletions
@@ -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;
}
}