6 Commits

Author SHA1 Message Date
Rinjae 0930dce62f ci - tomcat 경로 /prod/eapim 으로 이동
eapim-portal CI (from elink-online-core-jpa) / build (push) Has been cancelled
- CATALINA_BASE / CATALINA_HOME / CATALINA_PID 갱신
2026-06-09 16:20:16 +09:00
Rinjae 6a797b3ab9 ci - tomcat 만 jdk17 로 실행
- 빌드는 jdk8, 톰캣 startup/shutdown 만 jdk17
- JAVA_HOME_TOMCAT 환경변수로 분리
2026-06-09 15:43:27 +09:00
Rinjae a8a635d549 ci - tomcat 배포 및 헬스체크 추가
- ROOT.war 로 /prod/devportal/webapps 배포
- startup.sh 후 90초 내 GET / 200 기대
- post-clean 으로 shutdown 보장
2026-06-09 15:38:02 +09:00
Rinjae fe119839ae ci - secret 이름을 CI_TOKEN 으로 변경
- gitea 가 GITEA_ 접두어를 예약어로 차단
2026-06-09 12:23:28 +09:00
Rinjae d7dbc26bf7 ci - actions/checkout 다중 호출 회피
- 두 의존 repo는 raw git clone 으로 체크아웃
- act_runner 0.6.1 액션 캐시 race 우회
2026-06-09 12:21:15 +09:00
Rinjae 412e0a568e ci - eapim-portal gitea actions 워크플로 추가
- master / feats/ci-test push 시 트리거
- 세 repo composite 체크아웃 후 빌드
- war 산출물 업로드
2026-06-09 12:00:56 +09:00
2 changed files with 5 additions and 12 deletions
@@ -4,6 +4,8 @@ import com.eactive.eai.data.entity.AbstractEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.annotations.Comment;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
@@ -15,9 +17,8 @@ import javax.persistence.Table;
@EqualsAndHashCode(onlyExplicitlyIncluded = true, callSuper = true)
@Entity
// @DynamicInsert 제거 : null이 아닌 컬럼만으로 INSERT SQL을 매번 새로 생성하므로
// 행마다 SQL 문자열이 달라져 Hibernate JDBC 배치(batch_size)가 동작하지 않는다.
// 로그 테이블은 항상 전체 컬럼을 INSERT 하므로 정적 SQL이 유리하다.
@DynamicInsert
@DynamicUpdate
@Table(name = "http_adapter_extra_log")
@org.hibernate.annotations.Table(appliesTo = "http_adapter_extra_log", comment = "http 헤더 로그")
public class HttpAdapterExtraLog extends AbstractEntity<HttpAdapterExtraLogId> {
@@ -11,15 +11,7 @@ import com.eactive.eai.data.jpa.BaseRepository;
interface TransformLoaderRepository
extends DataLoaderRepository<TransformEntity>, BaseRepository<TransformEntity, String> {
/**
* 변환 마스터(TSEAITR01) 전체 로딩.
*
* 변환 항목 매핑(TSEAITR03)이 한 건도 없는 변환도 로딩 대상에 포함시키기 위해 left join fetch 를 사용한다.
* inner join fetch 로 조회할 경우 TSEAITR03 이 비어 있는 변환은 결과에서 통째로 누락되어,
* 온라인 서버 기동 후 해당 변환 호출 시 "전문레이아웃매핑(변환)정보를 찾을 수 없음" 오류가 발생한다.
* (매핑 항목이 없는 변환은 TransformValidator 가 기동 시 warn 으로 남긴다)
*/
@Query("from TransformEntity t left join fetch t.transformItemEntities where t.useyn = '1' order by t.cnvsnname")
@Query("from TransformEntity t inner join fetch t.transformItemEntities where t.useyn = '1' order by t.cnvsnname")
@Override
Stream<TransformEntity> loadAll();