엔진
구성
bxi-4.0.${VERSION}-engine.zip
├─bin
├─config
├─libs
├─generation
│ └─deploy
└─etc
└─bxi-extension
- bin: 엔진 실행 및 종료 스크립트
- config: 엔진 설정 파일
- libs: 엔진 기동 시 필요 jar
- generation: 단일 프로그램 배포 시 사용하는 디렉토리
- etc
- bxi-extension : 엔진 커스터마이징 시 사용
환경설정
정상적인 엔진 실행을 위해서는 다음과 같은 부가적인 작업을 수행해야 한다.
1. ApplicationContext.xml
config/ApplicationContext.xml
<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:@ip:port:sid"/>
<property name="username" value="user"/>
<property name="password" value="password"/>
<property name="validationQuery" value="SELECT 1 FROM DUAL"/>
<property name="testWhileIdle" value="true"/>
<property name="timeBetweenEvictionRunsMillis" value="1800000"/>
</bean>
정보
BXI는 거래 후 발생하는 일부 로그에 대해 JDBC Batch를 사용하여 DB에 저장한다.
이때, MySQL JDBC의 경우 JDBC URL에 rewriteBatchedStatements=true 옵션을 추가해야 실제로 여러 개의 insert 문을 하나의 insert 문으로 변경한다.
따라서 MySQL을 사용하는 사이트는 해당 옵션을 고려해야 한다.
2. bxi.properties
인스턴스를 실행할 container.sh의 경로를 지정하고,
실행할 테넌트와 엔진 타입을 설정한다.
config/bxi.properties
bxi.instance.execute=bin/container.sh
bxi.tenant.id=999
bxi.engine.type=FEP
테넌트란 사용자가 접근 가능한 데이터에만 액세스할 수 있도록 지원하는 것으로,
개발/운영 등의 시스템을 구분하는 용도로 사용할 수 있다.
엔진 타입에는 FEP, MCI, EAI가 있으며 각각의 엔진 타입에 따른 기본 테넌트 값은 아래와 같다.
| 엔진타입 | 기본 테넌트 값 |
|---|---|
| FEP | 999 |
| MCI | 001 |
| EAI | 002 |
3. 실행 스크립트
bin/startup.sh, bin/container.sh, bin/shutdown.sh의 _BXINAME_를 식별 가능한 id로 변경한다. (ex.fep40)
실행
주의
웹어드민을 통해 필요한 정보를 모두 등록한 후 실행이 가능하다. 필요한 데이터는 링크를 참조한다.
startup.sh으로 엔진을 실행한다.
노드ID가 node01인 경우, 실행 명령어는 다음과 같다.
bin/startup.sh node01
엔진이 정상적으로 실행되면 웹어드민의 실행관리 > 노드실행에서 정상실행 상태를 확인할 수 있으며,
bin/shutdown.sh으로 기동한 노드를 종료할 수 있다.