diff --git a/WebContent/META-INF/context.xml b/WebContent/META-INF/context.xml index 8e8180c..385912e 100644 --- a/WebContent/META-INF/context.xml +++ b/WebContent/META-INF/context.xml @@ -25,9 +25,38 @@ - + --> + + + + + + + + + + + + + url="jdbc:oracle:thin:@//192.168.240.177:1599/DAPM"/> + + \ No newline at end of file diff --git a/WebContent/WEB-INF/properties/env.common.properties b/WebContent/WEB-INF/properties/env.common.properties index 1341574..9122d87 100644 --- a/WebContent/WEB-INF/properties/env.common.properties +++ b/WebContent/WEB-INF/properties/env.common.properties @@ -18,7 +18,9 @@ shutdown.wait.intervalms=1000 # message function # use default options # async queue -use.internal.queue=true +// below false to test Weblogic JMS, jwhong +#use.internal.queue=true +use.internal.queue=false # sync-async mapping use.internal.topic=true # restore mapping diff --git a/WebContent/WEB-INF/web.xml b/WebContent/WEB-INF/web.xml index 6661aad..cc3d507 100644 --- a/WebContent/WEB-INF/web.xml +++ b/WebContent/WEB-INF/web.xml @@ -34,9 +34,7 @@ contextConfigLocation /WEB-INF/applicationContext.xml - - + authserver @@ -71,6 +69,7 @@ + + + default + weblogic.servlet.FileServlet + + + default + /static/* + + + + + authserver + org.springframework.web.servlet.DispatcherServlet + 1 + + + authserver + / + + + + springSecurityFilterChain + org.springframework.web.filter.DelegatingFilterProxy + + contextAttribute + org.springframework.web.servlet.FrameworkServlet.CONTEXT.authserver + + + + springSecurityFilterChain + /* + + + + + + + + + + + + + + + + + + + + + + + WebAgent + com.eactive.eai.agent.web.WebAgent + + + WebAgent + /WebAgent + + + + + Dynamic + com.eactive.eai.adapter.http.dynamic.HttpAdapterMain + + + Dynamic + /HTT/* + + + + index.jsp + + + 500 + /error.jsp + + + \ No newline at end of file diff --git a/WebContent/WEB-INF/weblogic.xml b/WebContent/WEB-INF/weblogic.xml index 0a98c5b..f8f8aa3 100644 --- a/WebContent/WEB-INF/weblogic.xml +++ b/WebContent/WEB-INF/weblogic.xml @@ -1,19 +1,21 @@ - - / - - 1800 - JSESSIONID_ONL - replicated_if_clustered - - - - org.apach.ignite.* - org.slf4j.* - ch.qos.logback.* - - - org/slf4j/impl/StaticLoggerBinder.class - - + + + / + + 1800 + JSESSIONID_EMS + replicated_if_clustered + + + + + org.apach.ignite.* + org.slf4j.* + ch.qos.logback.* + + + org/slf4j/impl/StaticLoggerBinder.class + + \ No newline at end of file diff --git a/build.gradle b/build.gradle index 657cb6f..85134b3 100644 --- a/build.gradle +++ b/build.gradle @@ -46,6 +46,15 @@ compileJava { } war { + // 2025.10.13 - weblogic 대응 (weblogic-web.xml -> web.xml 강제 사용) + def profile = project.findProperty("profile") ?: "tomcat" + + if (profile == "weblogic") { + webXml = file("WebContent/WEB-INF/weblogic-web.xml") + } + archiveFileName = "eapim-online.war" + duplicatesStrategy = DuplicatesStrategy.WARN + exclude '**/persistence.xml' exclude '**/context.xml' } @@ -62,52 +71,52 @@ dependencies { // implementation ('com.eactive:elink-online-transformer:4.5-SNAPSHOT') { changing = true } // implementation ('com.eactive:elink-online-common:4.5-SNAPSHOT') { changing = true } // implementation ('com.eactive:elink-online-emsclient:4.5-SNAPSHOT') { changing = true } - implementation project(':elink-online-core') - implementation project(':elink-online-transformer') - implementation project(':elink-online-common') - implementation project(':elink-online-emsclient') + implementation project(':elink-online-core') + implementation project(':elink-online-transformer') + implementation project(':elink-online-common') + implementation project(':elink-online-emsclient') - implementation fileTree(dir: 'libs', include: ['*.jar']) + implementation fileTree(dir: 'libs', include: ['*.jar']) // implementation 'org.xerial:sqlite-jdbc:3.39.2.1' - /* - mina-filter-ssl에 Exclude 설정을 하였으나 - mina-integration-spring에서도 mina-filter-ssl을 참조하여 - 해당 "mina-filter-ssl" 참조관계로 인해 ".apache.mina:mina-core:1.0.10"가 참조되는 일이 발생하여 - 두 라이브러르 모두 "exclude group" 설정을 추가함 - 아래의 configurations 처럼 ALL로 제거하여도 무방함 참고 - configurations { - all*.exclude group: 'org.apache.mina', module:'mina-core' - } - */ - implementation ("org.apache.mina:mina-filter-ssl:1.0.10"){ - exclude group: 'org.apache.mina' - } - implementation ('org.apache.mina:mina-integration-spring:1.0.10'){ - exclude group: 'org.apache.mina' - } + /* + mina-filter-ssl에 Exclude 설정을 하였으나 + mina-integration-spring에서도 mina-filter-ssl을 참조하여 + 해당 "mina-filter-ssl" 참조관계로 인해 ".apache.mina:mina-core:1.0.10"가 참조되는 일이 발생하여 + 두 라이브러르 모두 "exclude group" 설정을 추가함 + 아래의 configurations 처럼 ALL로 제거하여도 무방함 참고 + configurations { + all*.exclude group: 'org.apache.mina', module:'mina-core' + } + */ + implementation ("org.apache.mina:mina-filter-ssl:1.0.10"){ + exclude group: 'org.apache.mina' + } + implementation ('org.apache.mina:mina-integration-spring:1.0.10'){ + exclude group: 'org.apache.mina' + } - //implementation 'com.eactive:java_websocket-custom:1.0' - - //implementation "tmax:webt:7.0.2.0-r11661-forJEUS8.0" - //implementation "tmax:webtasync:2.0.3.1-r11801-forJEUS8.1" + //implementation 'com.eactive:java_websocket-custom:1.0' + + //implementation "tmax:webt:7.0.2.0-r11661-forJEUS8.0" + //implementation "tmax:webtasync:2.0.3.1-r11801-forJEUS8.1" - implementation 'org.graylog2:gelfj:1.1.16' + implementation 'org.graylog2:gelfj:1.1.16' - implementation "org.springframework:spring-webmvc:${springVersion}" - implementation "org.springframework.security:spring-security-jwt:1.1.1.RELEASE" + implementation "org.springframework:spring-webmvc:${springVersion}" + implementation "org.springframework.security:spring-security-jwt:1.1.1.RELEASE" - //implementation "com.eactive:ojdbc8:1.0" - //implementation "org.postgresql:postgresql:42.2.23" + //implementation "com.eactive:ojdbc8:1.0" + //implementation "org.postgresql:postgresql:42.2.23" implementation 'org.mariadb.jdbc:mariadb-java-client:2.7.4' //implementation "com.oracle.ojdbc:ojdbc8:19.3.0.0" - implementation 'org.slf4j:jul-to-slf4j:1.7.35' - implementation 'org.slf4j:jcl-over-slf4j:1.7.35' - implementation 'org.slf4j:log4j-over-slf4j:1.7.35' - implementation 'org.slf4j:slf4j-api:1.7.35' + implementation 'org.slf4j:jul-to-slf4j:1.7.35' + implementation 'org.slf4j:jcl-over-slf4j:1.7.35' + implementation 'org.slf4j:log4j-over-slf4j:1.7.35' + implementation 'org.slf4j:slf4j-api:1.7.35' implementation 'co.elastic.logging:logback-ecs-encoder:1.5.0' implementation 'net.sf.j8583:j8583:1.18.0' @@ -147,11 +156,11 @@ configurations.all { } task settingEclipseEncoding { - if (project.file('.settings').exists()) { - File f = file('.settings/org.eclipse.core.resources.prefs') - f.write('eclipse.preferences.version=1\n') - f.append('encoding/=utf-8') - } + if (project.file('.settings').exists()) { + File f = file('.settings/org.eclipse.core.resources.prefs') + f.write('eclipse.preferences.version=1\n') + f.append('encoding/=utf-8') + } } //eclipseJdt.finalizedBy settingEclipseEncoding diff --git a/kjb-docs/Jenkinsfile b/kjb-docs/Jenkinsfile new file mode 100644 index 0000000..cf12b2c --- /dev/null +++ b/kjb-docs/Jenkinsfile @@ -0,0 +1,90 @@ +pipeline { + // agent { label 'apigwd01' } + // 노트북망에서는 apipod01 서버에서 진행한다. + agent { label 'apipod01' } + + environment { + // Java 환경 설정 + JAVA_HOME = '/App/jenkins/jdks/jdk1.8.0_441' + PATH = "${JAVA_HOME}/bin:${env.PATH}" + + // Gradle 환경 설정 + GRADLE_HOME = '/App/jenkins/gradle-8.7' + GRADLE_USER_HOME = '/App/jenkins/gradle-home' + // GRADLE_OPTS = '--offline' + + // Git 저장소 정보 + GIT_SERVER = '192.168.240.178:18081' + GIT_CREDENTIALS_ID = 'git-ssh-credentials' + + // 프로젝트 디렉토리 구조 + PROJECT_HOME = '/Data/jenkins/eapim' + + BRANCH = 'jenkins_with_weblogic' + } + + + stages { + stage('Git pull') { + steps { + echo "[online] Git pull from branch: ${BRANCH}" + dir("${PROJECT_HOME}/eapim-online") { + git url: "ssh://git@${GIT_SERVER}/eapim/eapim-online", branch: "${BRANCH}", credentialsId: "${GIT_CREDENTIALS_ID}" + } + + echo "[online-core] Git pull from branch: ${BRANCH}" + dir("${PROJECT_HOME}/eapim-online/elink-online-core") { + git url: "ssh://git@${GIT_SERVER}/eapim/elink-online-core", branch: "${BRANCH}", credentialsId: "${GIT_CREDENTIALS_ID}" + } + + echo "[online-core-jpa] Git pull from branch: ${BRANCH}" + dir("${PROJECT_HOME}/eapim-online/elink-online-core-jpa") { + git url: "ssh://git@${GIT_SERVER}/eapim/elink-online-core-jpa", branch: "${BRANCH}", credentialsId: "${GIT_CREDENTIALS_ID}" + } + + + echo "[online-transformer] Git pull from branch: ${BRANCH}" + dir("${PROJECT_HOME}/eapim-online/elink-online-transformer") { + git url: "ssh://git@${GIT_SERVER}/eapim/elink-online-transformer", branch: "${BRANCH}", credentialsId: "${GIT_CREDENTIALS_ID}" + } + + echo "[online-common] Git pull from branch: ${BRANCH}" + dir("${PROJECT_HOME}/eapim-online/elink-online-common") { + git url: "ssh://git@${GIT_SERVER}/eapim/elink-online-common", branch: "${BRANCH}", credentialsId: "${GIT_CREDENTIALS_ID}" + } + + echo "[online-emsclient] Git pull from branch: ${BRANCH}" + dir("${PROJECT_HOME}/eapim-online/elink-online-emsclient") { + git url: "ssh://git@${GIT_SERVER}/eapim/elink-online-emsclient", branch: "${BRANCH}", credentialsId: "${GIT_CREDENTIALS_ID}" + } + + echo "[kjb-safedb] Git pull from branch: ${BRANCH}" + dir("${PROJECT_HOME}/kjb-safedb") { + git url: "ssh://git@${GIT_SERVER}/eapim/kjb-safedb", branch: "${BRANCH}", credentialsId: "${GIT_CREDENTIALS_ID}" + } + } + } + + + stage('Build') { + steps { + tool name: 'Oracle-JDK-1.8', type: 'hudson.model.JDK' + + echo "[admin] Build project" + dir("${PROJECT_HOME}/eapim-online") { + sh '${GRADLE_HOME}/bin/gradle clean build -x test -Pprofile=weblogic' + } + } + } + + + stage('Archive WAR') { + steps { + echo "[admin] Archive WAR file" + dir("${PROJECT_HOME}/eapim-online/build/libs") { + archiveArtifacts artifacts: '*.war', fingerprint: true + } + } + } + } +} \ No newline at end of file