본문으로 건너뛰기

엔진

인터페이스 처리시 발생되는 다양한 요건을 위해 커스터마이징 프로그램을 개발하고, 적용할 수 있다. 이를 위해 별도로 전달되는 커스터마이징 프로젝트를 통해 소스를 작성하고, 해당 프로그램을 등록한다.

프로그램 적용절차

1. 프로그램 개발

bxi-extension에 포함된 샘플 프로그램을 참고하여 커스터마이징할 프로그램을 개발한다. bxi-extension프로젝트는 BXI 인스톨러 바이너리에 기본 포함된다.

샘플 프로그램 경로

bxi-extension/src/main/java/bxi/extension/sample

주의사항

커스터마이징 프로그램에 다음과 같은 요소가 포함될 경우 정상 작동되지 않을 수 있으므로 개발할 때 제외하도록 한다.

  • @Slf4j를 통한 로깅
  • lambda를 사용하는 로직(예. Functional inferface)
  • static 활용

또한 java.lang.NoClassDefFoundError가 발생하면 해당하는 클래스의 재로딩이 무시되어 동적배포가 이루어지지 않는다. 따라서 커스터마이징 프로그램 배포 중에 NoClassDefFoundError가 발생한 경우 엔진을 재기동한 뒤에 배포를 수행하여야 한다.

2. 프로그램 파일 업로드

개발한 프로그램을 BXI서버에 업로드한다. jarclass형태 모두 배포 가능하며,인스턴스를 재기동하고싶지 않은 경우에는 동적배포를 사용할 수 있다.

종류설명
동적배포 사용 시개발한 프로그램의 class파일을 BXI서버에 업로드한다. 업로드 위치는 시스템파라미터의 DYNAMIC_DEPLOY_PATH에 설정한 위치이며, 프로그램정보의 배포버튼을 통해 엔진 재기동없이 배포할 수 있다.
동적배포 미사용 시bxi.extension.jar로 빌드해 엔진의 libs에 업로드한다. 이 때, 엔진을 반드시 재기동해야 한다.

3. 프로그램 등록

기본설정관리 > 프로그램정보를 이용하여 개발된 프로그램을 등록한다. 프로그램용도는 개발한 프로그램 종류에 따라 달라지므로 상세 가이드를 참조하고, 프로그램클래스는 패키지를 포함해 입력한다.

4. 프로그램 배포

저장 후 변경이력정보 우측의 배포버튼을 클릭하여 배포한다.

배포 성공 시, BXI서버에 업로드했던 class파일은 앞서 정의한 프로그램 클래스 정보에 따라 이동되며, 이 때 기존 클래스파일명에 프로그램버전을 추가한다.

파일 위치
배포 전generation/deploy/SampleProcessor.class
배포 후generation/customizing/bxi/extension/sample/SampleProcessor2023090400003.class

5. 프로그램 설정

프로그램을 적용할 설정화면에 프로그램ID를 설정한다.