Phase 2a: 모듈서버 패턴 + 재사용 빌드시스템 (ac 모듈 38서비스 실동작)

- ac_svr(30 매입서비스 advertise) + rc_svr/st_svr, dbio 정적라이브러리, common 라이브러리
- app/build.sh: 모듈 자동발견(app/src/<mod>/<mod>_svr.pgc) → ecpg+buildserver+ndrxconfig 생성
- ac 배치 2종, 스키마 9테이블, 검증: 41서비스 AVAIL, 체인·배치 psql 커밋, prepared_xacts=0

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
forge-bot 2026-07-19 09:37:17 +00:00
parent e6e29e6b5d
commit 05a0ff3e56
28 changed files with 1964 additions and 410 deletions

View file

@ -1,16 +1,29 @@
#!/bin/bash
## Run the acquiring driver under a real global XA transaction.
## ./run-driver.sh -> one COMMIT run + one ROLLBACK run (demo)
## ./run-driver.sh <merch> <amount> <bizdate> [abort] -> single custom run
## Run the acquiring drivers under real global XA transactions.
## ./run-driver.sh -> demo: COMMIT chain, ROLLBACK chain, ops, batches
## ./run-driver.sh <merch> <amount> <bizdate> [abort] -> single custom chain run
. /app/conf/setapp.sh
if [ "$#" -ge 1 ]; then
exec /app/bin/acqdrv "$@"
fi
echo "===== COMMIT run (ACQUIRE -> RECONCILE -> SETTLE, tpcommit) ====="
echo "===== 1) 매입 체인 COMMIT (ACQUIRE -> RECONCILE -> SETTLE, tpcommit) ====="
/app/bin/acqdrv M0001 1000000 2026-07-19
echo
echo "===== ROLLBACK run (same chain, tpabort) ====="
echo "===== 2) 매입 체인 ROLLBACK (동일 체인, tpabort) ====="
/app/bin/acqdrv M0002 500000 2026-07-19 abort
echo
echo "===== 3) ac 온라인 서비스 ops (DUPCHK/FEEADJ/INSTALL/STATUS, tpcommit) ====="
LASTPID=$(PGPASSWORD=acq psql -h db -U acq -d acq -tAc "SELECT max(purchase_id) FROM purchase")
/app/bin/ac_ops "${LASTPID:-1}" M0001 1000000 2026-07-19
echo
echo "===== 4) ac 배치: 가맹점 일집계 (커서 + XA) ====="
/app/bin/ac_merchsum_batch 2026-07-19
echo
echo "===== 5) ac 배치: 원천징수 (커서 + XA) ====="
/app/bin/ac_wht_batch 2026-07-19