From 4e5a9d8ed69ffee703ce08b4aac91b4545e73cff Mon Sep 17 00:00:00 2001 From: eactive Date: Tue, 9 Sep 2025 10:58:52 +0900 Subject: [PATCH] =?UTF-8?q?DB=20=EC=97=B0=EA=B2=B0=EC=A0=95=EB=B3=B4=20?= =?UTF-8?q?=EB=B3=80=ED=99=98=20(+3=20squashed=20commit)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Squashed commit: [a171ca2] Gradle 7.6 -> 8.7 및 환경구성 [84e93d6] gradle 경로 및 디비 커넥션 정보 수정 [bdaf89b] DB 연결정보 변경 --- .gitignore | 3 +- build.gradle | 9 +++-- gradle.properties | 3 +- gradle/wrapper/gradle-wrapper.properties | 2 +- settings.gradle | 2 +- .../config/PortalConfigGatewayDatasource.java | 22 ++++++------- .../config/PortalConfigPortalDatasource.java | 33 ++++++++----------- src/main/resources/application-dev.yml | 20 +++++------ ...ication-local.yml => application-gf63.yml} | 32 ++++++------------ 9 files changed, 55 insertions(+), 71 deletions(-) rename src/main/resources/{application-local.yml => application-gf63.yml} (58%) diff --git a/.gitignore b/.gitignore index 5ad42c8..6b972c7 100644 --- a/.gitignore +++ b/.gitignore @@ -96,4 +96,5 @@ TODO.txt /jeus-tibero/ *.zip /src/docs/ -/docs/ \ No newline at end of file +/docs/ +src/main/resources/application-gf63.yml \ No newline at end of file diff --git a/build.gradle b/build.gradle index 47705b8..16b4f27 100644 --- a/build.gradle +++ b/build.gradle @@ -80,8 +80,11 @@ 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' testImplementation 'org.junit.jupiter:junit-jupiter-api:5.7.0' @@ -150,4 +153,4 @@ war { from('src/main/resources/jeus-web-dd.xml') { into 'WEB-INF' } from('src/main/resources/weblogic.xml') { into 'WEB-INF' } -} +} \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 848df0e..5f1ed7b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,2 +1 @@ -org.gradle.caching=true -org.gradle.offline=true \ No newline at end of file +org.gradle.caching=true \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index f8a4e70..8bea23a 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=gradle-7.6.3-bin.zip +distributionUrl=gradle-8.7-bin.zip networkTimeout=10000 zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/settings.gradle b/settings.gradle index 330c133..ff968dd 100644 --- a/settings.gradle +++ b/settings.gradle @@ -3,5 +3,5 @@ rootProject.name = 'eapim-portal' include 'elink-online-core-jpa' include 'elink-portal-common' -project (':elink-online-core-jpa').projectDir = new File(settingsDir, "../eapim-online/elink-online-core-jpa") +project (':elink-online-core-jpa').projectDir = new File(settingsDir, "../elink-online-core-jpa") project (':elink-portal-common').projectDir = new File(settingsDir, "../elink-portal-common") diff --git a/src/main/java/com/eactive/apim/portal/config/PortalConfigGatewayDatasource.java b/src/main/java/com/eactive/apim/portal/config/PortalConfigGatewayDatasource.java index cb33855..f2f6b30 100644 --- a/src/main/java/com/eactive/apim/portal/config/PortalConfigGatewayDatasource.java +++ b/src/main/java/com/eactive/apim/portal/config/PortalConfigGatewayDatasource.java @@ -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 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"); diff --git a/src/main/java/com/eactive/apim/portal/config/PortalConfigPortalDatasource.java b/src/main/java/com/eactive/apim/portal/config/PortalConfigPortalDatasource.java index 2682388..46a50a9 100644 --- a/src/main/java/com/eactive/apim/portal/config/PortalConfigPortalDatasource.java +++ b/src/main/java/com/eactive/apim/portal/config/PortalConfigPortalDatasource.java @@ -59,16 +59,9 @@ public class PortalConfigPortalDatasource { log.warn("Active profiles: {}", Arrays.toString(env.getActiveProfiles())); } - @Primary + @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"); diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 4a0fb94..1d1328b 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -27,11 +27,11 @@ spring: ems: datasource: - serverName: localhost - portNumber: 3306 - databaseName: ndapims - username: api_app - password: from2408!@ + serverName: 192.168.240.177 + portNumber: 1599 + databaseName: DAPM + username: EMSADM + password: EMSADM123! # serverName: 172.20.160.59 # portNumber: 3317 @@ -41,11 +41,11 @@ ems: gateway: datasource: - serverName: localhost - portNumber: 3306 - databaseName: ndapigw - username: api_app - password: from2408!@ + serverName: 192.168.240.177 + portNumber: 1599 + databaseName: DAPM + username: AGWADM + password: AGWADM123! # serverName: 172.20.160.59 # portNumber: 3317 diff --git a/src/main/resources/application-local.yml b/src/main/resources/application-gf63.yml similarity index 58% rename from src/main/resources/application-local.yml rename to src/main/resources/application-gf63.yml index bd804ed..b688c9a 100644 --- a/src/main/resources/application-local.yml +++ b/src/main/resources/application-gf63.yml @@ -24,31 +24,19 @@ spring: ems: datasource: - serverName: localhost - portNumber: 3306 - databaseName: ndapims - username: api_app - password: from2408!@ - -# serverName: 172.20.160.59 -# portNumber: 3317 -# databaseName: ndapims -# username: api_app -# password: Tapiapp*17 + serverName: 192.168.240.177 + portNumber: 1599 + databaseName: DAPM + username: EMSADM + password: EMSADM123! gateway: datasource: - serverName: localhost - portNumber: 3306 - databaseName: ndapigw - username: api_app - password: from2408!@ - -# serverName: 172.20.160.59 -# portNumber: 3317 -# databaseName: ndapigw -# username: api_app -# password: Tapiapp*17 + serverName: 192.168.240.177 + portNumber: 1599 + databaseName: DAPM + username: AGWADM + password: AGWADM123! proxy: