DB 연결정보 변환
This commit is contained in:
+4
-1
@@ -80,7 +80,10 @@ dependencies {
|
||||
|
||||
implementation group: 'org.apache.velocity', name: 'velocity-engine-core', version: '2.3'
|
||||
|
||||
runtimeOnly group: 'com.mysql', name: 'mysql-connector-j', version: '8.4.0'
|
||||
// runtimeOnly group: 'com.mysql', name: 'mysql-connector-j', version: '8.4.0'
|
||||
|
||||
// oracle 드라이버 의존성 추가
|
||||
runtimeOnly 'com.oracle.database.jdbc:ojdbc8:19.20.0.0'
|
||||
|
||||
implementation 'net.bytebuddy:byte-buddy:1.14.5'
|
||||
|
||||
|
||||
@@ -33,21 +33,21 @@ public class PortalConfigGatewayDatasource {
|
||||
dataSource.setMaxPoolSize(10);
|
||||
dataSource.setMaxIdleTime(60); // seconds
|
||||
dataSource.setBorrowConnectionTimeout(30); // seconds
|
||||
dataSource.setTestQuery("SELECT 1");
|
||||
dataSource.setTestQuery("SELECT 1 FROM DUAL");
|
||||
dataSource.setMaintenanceInterval(60);
|
||||
dataSource.setXaDataSourceClassName("com.mysql.cj.jdbc.MysqlXADataSource");
|
||||
dataSource.setXaDataSourceClassName("oracle.jdbc.xa.client.OracleXADataSource");
|
||||
|
||||
Properties xaProperties = new Properties();
|
||||
xaProperties.setProperty("serverName", gatewayDataSourceProperties.getServerName());
|
||||
xaProperties.setProperty("portNumber", String.valueOf(gatewayDataSourceProperties.getPortNumber()));
|
||||
xaProperties.setProperty("databaseName", gatewayDataSourceProperties.getDatabaseName());
|
||||
String url = String.format("jdbc:oracle:thin:@//%s:%d/%s",
|
||||
gatewayDataSourceProperties.getServerName(), // HOST
|
||||
gatewayDataSourceProperties.getPortNumber(), // PORT
|
||||
gatewayDataSourceProperties.getDatabaseName()); // SERVICE_NAME 또는 SID
|
||||
// SID를 사용하는 경우: "jdbc:oracle:thin:@host:port:SID"
|
||||
|
||||
xaProperties.setProperty("URL", url);
|
||||
xaProperties.setProperty("user", gatewayDataSourceProperties.getUsername());
|
||||
xaProperties.setProperty("password", gatewayDataSourceProperties.getPassword());
|
||||
xaProperties.setProperty("useSSL", "false");
|
||||
xaProperties.setProperty("autoReconnect", "true");
|
||||
xaProperties.setProperty("failOverReadOnly", "false");
|
||||
xaProperties.setProperty("maxReconnects", "3");
|
||||
xaProperties.setProperty("allowPublicKeyRetrieval", "true");
|
||||
|
||||
dataSource.setXaProperties(xaProperties);
|
||||
return dataSource;
|
||||
}
|
||||
@@ -58,7 +58,7 @@ public class PortalConfigGatewayDatasource {
|
||||
@Qualifier("gatewayDataSource") DataSource dataSource) {
|
||||
HashMap<String, Object> properties = new HashMap<>();
|
||||
//public interface AvailableSettings extends org.hibernate.jpa.AvailableSettings 참고
|
||||
properties.put("hibernate.dialect", "org.hibernate.dialect.MySQL8Dialect");
|
||||
properties.put("hibernate.dialect", "org.hibernate.dialect.Oracle12cDialect");
|
||||
properties.put("hibernate.connection.handling_mode", "DELAYED_ACQUISITION_AND_RELEASE_AFTER_TRANSACTION");
|
||||
properties.put("hibernate.transaction.jta.platform", "org.hibernate.engine.transaction.jta.platform.internal.AtomikosJtaPlatform");
|
||||
properties.put("hibernate.physical_naming_strategy", "com.eactive.apim.portal.common.entity.CustomPhysicalNamingStrategy");
|
||||
|
||||
@@ -62,13 +62,6 @@ public class PortalConfigPortalDatasource {
|
||||
@Primary
|
||||
@Bean
|
||||
public DataSource portalDataSource() {
|
||||
log.warn("Datasource - portal configuration");
|
||||
log.warn("serverName : {}", emsDatasourceProperties.getServerName());
|
||||
log.warn("PortNumber : {}", String.valueOf(emsDatasourceProperties.getPortNumber()));
|
||||
log.warn("DatabaseName : {}", emsDatasourceProperties.getDatabaseName());
|
||||
log.warn("Username : {}", emsDatasourceProperties.getUsername());
|
||||
log.warn("Password : {}", emsDatasourceProperties.getPassword());
|
||||
|
||||
AtomikosDataSourceBean dataSource = new AtomikosDataSourceBean();
|
||||
dataSource.setBeanName("portalDataSource");
|
||||
dataSource.setUniqueResourceName("portalDataSource");
|
||||
@@ -76,20 +69,20 @@ public class PortalConfigPortalDatasource {
|
||||
dataSource.setMaxPoolSize(10);
|
||||
dataSource.setMaxIdleTime(60); // seconds
|
||||
dataSource.setBorrowConnectionTimeout(30); // seconds
|
||||
dataSource.setTestQuery("SELECT 1");
|
||||
dataSource.setTestQuery("SELECT 1 FROM DUAL");
|
||||
dataSource.setMaintenanceInterval(60);
|
||||
dataSource.setXaDataSourceClassName("com.mysql.cj.jdbc.MysqlXADataSource");
|
||||
dataSource.setXaDataSourceClassName("oracle.jdbc.xa.client.OracleXADataSource");
|
||||
|
||||
Properties xaProperties = new Properties();
|
||||
xaProperties.setProperty("serverName", emsDatasourceProperties.getServerName());
|
||||
xaProperties.setProperty("portNumber", String.valueOf(emsDatasourceProperties.getPortNumber()));
|
||||
xaProperties.setProperty("databaseName", emsDatasourceProperties.getDatabaseName());
|
||||
String url = String.format("jdbc:oracle:thin:@//%s:%d/%s",
|
||||
emsDatasourceProperties.getServerName(), // HOST
|
||||
emsDatasourceProperties.getPortNumber(), // PORT
|
||||
emsDatasourceProperties.getDatabaseName()); // SERVICE_NAME 또는 SID
|
||||
// SID를 사용하는 경우: "jdbc:oracle:thin:@host:port:SID"
|
||||
|
||||
xaProperties.setProperty("URL", url);
|
||||
xaProperties.setProperty("user", emsDatasourceProperties.getUsername());
|
||||
xaProperties.setProperty("password", emsDatasourceProperties.getPassword());
|
||||
xaProperties.setProperty("useSSL", "false");
|
||||
xaProperties.setProperty("autoReconnect", "true");
|
||||
xaProperties.setProperty("failOverReadOnly", "false");
|
||||
xaProperties.setProperty("maxReconnects", "3");
|
||||
xaProperties.setProperty("allowPublicKeyRetrieval", "true");
|
||||
|
||||
dataSource.setXaProperties(xaProperties);
|
||||
return dataSource;
|
||||
@@ -107,7 +100,7 @@ public class PortalConfigPortalDatasource {
|
||||
properties.put("hibernate.connection.autocommit", "false");
|
||||
properties.put("hibernate.connection.handling_mode", "DELAYED_ACQUISITION_AND_RELEASE_AFTER_TRANSACTION");
|
||||
properties.put("hibernate.connection.provider_disables_autocommit", "true");
|
||||
properties.put("hibernate.dialect", "org.hibernate.dialect.MySQL8Dialect");
|
||||
properties.put("hibernate.dialect", "org.hibernate.dialect.Oracle12cDialect");
|
||||
properties.put("hibernate.format_sql", "true");
|
||||
properties.put("hibernate.physical_naming_strategy", "com.eactive.apim.portal.common.entity.CustomPhysicalNamingStrategy");
|
||||
properties.put("hibernate.show_sql", "true");
|
||||
@@ -120,7 +113,7 @@ public class PortalConfigPortalDatasource {
|
||||
// Envers properties org.hibernate.envers.configuration.EnversSettings 참고
|
||||
properties.put("org.hibernate.envers.audit_strategy", "org.hibernate.envers.strategy.internal.ValidityAuditStrategy");
|
||||
properties.put("org.hibernate.envers.audit_table_suffix", "_AUD");
|
||||
properties.put("org.hibernate.envers.default_catalog", "audit");
|
||||
properties.put("org.hibernate.envers.default_schema", "audit");
|
||||
properties.put("org.hibernate.envers.global_with_modified_flag", "true");
|
||||
properties.put("org.hibernate.envers.revision_field_name", "REVISION");
|
||||
properties.put("org.hibernate.envers.revision_type_field_name", "REVISION_TYPE");
|
||||
|
||||
Reference in New Issue
Block a user