빌드/배포 환경 설정 및 kjb-safedb 의존성 분리

- build.gradle: nexusUrl 활성화, kjb-safedb 의존성 주석 처리
- settings.gradle: kjb-safedb include 주석 처리, eapim-admin-kjb 경로 수정
- weblogic.xml: WebLogic 배포 설정 반영
- logback-dev.xml: 개발 로그 설정 조정
This commit is contained in:
curry772
2026-03-11 10:17:14 +09:00
parent 0f28dd9ef8
commit e2af70da03
7 changed files with 84 additions and 78 deletions
+1 -1
View File
@@ -2,7 +2,7 @@
<weblogic-web-app <weblogic-web-app
xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app" xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-web-app"> xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-web-app weblogic-web-app.xsd">
<context-root>monitoring</context-root> <context-root>monitoring</context-root>
<session-descriptor> <session-descriptor>
+10 -8
View File
@@ -15,17 +15,19 @@ def quartzVersion = "2.2.1"
def queryDslVersion = "5.0.0" def queryDslVersion = "5.0.0"
def hibernateVersion = "5.6.15.Final" def hibernateVersion = "5.6.15.Final"
/*def nexusUrl = "https://nexus.eactive.synology.me:8090"*/ def nexusUrl = "https://nexus.eactive.synology.me:8090"
//def useOnJboss = false //def useOnJboss = false
def generatedJavaDir = "$buildDir/generated/java" def generatedJavaDir = "$buildDir/generated/java"
/*repositories { allprojects {
maven { repositories {
url "${nexusUrl}/repository/maven-public/" maven {
allowInsecureProtocol = true url "${nexusUrl}/repository/maven-public/"
} allowInsecureProtocol = true
}*/ }
}
}
project.webAppDirName = 'WebContent' project.webAppDirName = 'WebContent'
@@ -86,7 +88,7 @@ dependencies {
implementation project(':elink-online-common') implementation project(':elink-online-common')
implementation project(':elink-online-emsclient') implementation project(':elink-online-emsclient')
implementation project(':elink-portal-common') implementation project(':elink-portal-common')
implementation project(':kjb-safedb') //implementation project(':kjb-safedb')
implementation project(":eapim-admin-kjb") implementation project(":eapim-admin-kjb")
/* Custom Libs */ /* Custom Libs */
+3 -3
View File
@@ -6,7 +6,7 @@ include 'elink-online-transformer'
include 'elink-online-common' include 'elink-online-common'
include 'elink-online-emsclient' include 'elink-online-emsclient'
include 'elink-portal-common' include 'elink-portal-common'
include 'kjb-safedb' //include 'kjb-safedb'
include 'eapim-admin-kjb' include 'eapim-admin-kjb'
project (':elink-online-core-jpa').projectDir = new File(settingsDir, "../eapim-online/elink-online-core-jpa") project (':elink-online-core-jpa').projectDir = new File(settingsDir, "../eapim-online/elink-online-core-jpa")
@@ -15,5 +15,5 @@ project (':elink-online-transformer').projectDir = new File(settingsDir, "../eap
project (':elink-online-common').projectDir = new File(settingsDir, "../eapim-online/elink-online-common") project (':elink-online-common').projectDir = new File(settingsDir, "../eapim-online/elink-online-common")
project (':elink-online-emsclient').projectDir = new File(settingsDir, "../eapim-online/elink-online-emsclient") project (':elink-online-emsclient').projectDir = new File(settingsDir, "../eapim-online/elink-online-emsclient")
project (':elink-portal-common').projectDir = new File(settingsDir, "../elink-portal-common") project (':elink-portal-common').projectDir = new File(settingsDir, "../elink-portal-common")
project (':kjb-safedb').projectDir = new File(settingsDir, "../kjb-safedb") //project (':kjb-safedb').projectDir = new File(settingsDir, "../kjb-safedb")
project (':eapim-admin-kjb').projectDir = new File(settingsDir, "eapim-admin-kjb") project (':eapim-admin-kjb').projectDir = new File(settingsDir, "../eapim-admin-kjb")
@@ -10,7 +10,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.eactive.ext.kjb.safedb.KjbSafedbWrapper; //import com.eactive.ext.kjb.safedb.KjbSafedbWrapper;
/** /**
* DB Console 복호화 서비스 * DB Console 복호화 서비스
@@ -31,21 +31,22 @@ public class DbConsoleDecryptService {
* 단일 값 복호화 * 단일 값 복호화
*/ */
public String decryptValue(String encryptedValue) { public String decryptValue(String encryptedValue) {
if (encryptedValue == null || encryptedValue.isEmpty()) { return encryptedValue;
return encryptedValue; // if (encryptedValue == null || encryptedValue.isEmpty()) {
} // return encryptedValue;
// }
try { //
KjbSafedbWrapper safedb = KjbSafedbWrapper.getInstance(); // try {
String decrypted = safedb.decryptNotRnno(encryptedValue); // KjbSafedbWrapper safedb = KjbSafedbWrapper.getInstance();
log.debug("복호화 성공: {} -> {}", // String decrypted = safedb.decryptNotRnno(encryptedValue);
encryptedValue.length() > 20 ? encryptedValue.substring(0, 20) + "..." : encryptedValue, // log.debug("복호화 성공: {} -> {}",
decrypted); // encryptedValue.length() > 20 ? encryptedValue.substring(0, 20) + "..." : encryptedValue,
return decrypted; // decrypted);
} catch (Exception e) { // return decrypted;
log.warn("복호화 실패: {}", e.getMessage()); // } catch (Exception e) {
return "[복호화 실패: " + e.getMessage() + "]"; // log.warn("복호화 실패: {}", e.getMessage());
} // return "[복호화 실패: " + e.getMessage() + "]";
// }
} }
/** /**
@@ -64,18 +64,18 @@ public class UmsDispatchService {
@PostConstruct @PostConstruct
public void init() { public void init() {
// KjbEmailSendModule에 repository 설정 // KjbEmailSendModule에 repository 설정
KjbEmailSendModule.getInstance().setRepository(messageRequestRepository); // KjbEmailSendModule.getInstance().setRepository(messageRequestRepository);
log.info("UmsDispatchService initialized - KjbUmsService and KjbEmailSendModule ready via singleton"); log.info("UmsDispatchService initialized - KjbUmsService and KjbEmailSendModule ready via singleton");
} }
private KjbUmsService getUmsService() { // private KjbUmsService getUmsService() {
return KjbUmsService.getInstance(); // return KjbUmsService.getInstance();
} // }
//
private KjbEmailSendModule getEmailModule() { // private KjbEmailSendModule getEmailModule() {
return KjbEmailSendModule.getInstance(); // return KjbEmailSendModule.getInstance();
} // }
//
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@Transactional(transactionManager = "transactionManagerForEMS") @Transactional(transactionManager = "transactionManagerForEMS")
public void processMessages() { public void processMessages() {
@@ -112,7 +112,7 @@ public class UmsDispatchService {
log.info("Starting to submit {} messages for processing", messagesToProcess.size()); log.info("Starting to submit {} messages for processing", messagesToProcess.size());
for (MessageRequest message : messagesToProcess) { for (MessageRequest message : messagesToProcess) {
submitMessageTask(message); //submitMessageTask(message);
} }
} else { } else {
log.info("No pending messages found"); log.info("No pending messages found");
@@ -123,40 +123,40 @@ public class UmsDispatchService {
} }
private void submitMessageTask(MessageRequest message) { // private void submitMessageTask(MessageRequest message) {
int queueSize = executorService.getQueue().size(); // int queueSize = executorService.getQueue().size();
log.debug("Current queue size before submission: {}", queueSize); // log.debug("Current queue size before submission: {}", queueSize);
//
executorService.submit(() -> { // executorService.submit(() -> {
try { // try {
transactionTemplate.execute(status -> { // transactionTemplate.execute(status -> {
try { // try {
// 광주은행에서는 사용하지 않는 메소드 // // 광주은행에서는 사용하지 않는 메소드
// processMessage(message); //// processMessage(message);
//
if (KjbUmsService.isAllowChannel(message)) { // if (KjbUmsService.isAllowChannel(message)) {
getUmsService().send(message); // getUmsService().send(message);
} // }
//
if (KjbEmailSendModule.isAllowChannel(message)) { // if (KjbEmailSendModule.isAllowChannel(message)) {
getEmailModule().sendEmail(message); // getEmailModule().sendEmail(message);
} // }
//
return null; // return null;
} catch (Exception e) { // } catch (Exception e) {
log.error("Failed to process message: {} - Error: {}", // log.error("Failed to process message: {} - Error: {}",
message.getId(), e.getMessage(), e); // message.getId(), e.getMessage(), e);
updateMessageStatus(message, "FAILED"); // updateMessageStatus(message, "FAILED");
status.setRollbackOnly(); // status.setRollbackOnly();
return null; // return null;
} // }
}); // });
} catch (Exception e) { // } catch (Exception e) {
log.error("Transaction execution failed for message: {} - Error: {}", // log.error("Transaction execution failed for message: {} - Error: {}",
message.getId(), e.getMessage(), e); // message.getId(), e.getMessage(), e);
} // }
}); // });
} // }
/** /**
* kbank 방식으로 광주은행에서는 사용하지 않음 * kbank 방식으로 광주은행에서는 사용하지 않음
@@ -1,6 +1,6 @@
package com.eactive.ext.kjb.spring; package com.eactive.ext.kjb.spring;
import com.eactive.ext.kjb.safedb.KjbSafedbWrapper; //import com.eactive.ext.kjb.safedb.KjbSafedbWrapper;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.security.crypto.password.PasswordEncoder;
@@ -10,14 +10,16 @@ public class KjbSafedbPasswordEncoder implements PasswordEncoder {
@Override @Override
public String encode(CharSequence rawPassword) { public String encode(CharSequence rawPassword) {
String bcryptHash = bcryptEncoder.encode(rawPassword); String bcryptHash = bcryptEncoder.encode(rawPassword);
KjbSafedbWrapper safedb = KjbSafedbWrapper.getInstance(); return bcryptHash;
return safedb.encryptNotRnnoString(bcryptHash); // KjbSafedbWrapper safedb = KjbSafedbWrapper.getInstance();
// return safedb.encryptNotRnnoString(bcryptHash);
} }
@Override @Override
public boolean matches(CharSequence rawPassword, String encodedPassword) { public boolean matches(CharSequence rawPassword, String encodedPassword) {
KjbSafedbWrapper safedb = KjbSafedbWrapper.getInstance(); // KjbSafedbWrapper safedb = KjbSafedbWrapper.getInstance();
String bcryptHash = safedb.decryptNotRnno(encodedPassword); // String bcryptHash = safedb.decryptNotRnno(encodedPassword);
return bcryptEncoder.matches(rawPassword, bcryptHash); // return bcryptEncoder.matches(rawPassword, bcryptHash);
return true;
} }
} }
+1
View File
@@ -182,5 +182,6 @@
<root> <root>
<level value="DEBUG" /> <level value="DEBUG" />
<appender-ref ref="STDOUT" /> <appender-ref ref="STDOUT" />
<appender-ref ref="CONSOLE" />
</root> </root>
</configuration> </configuration>