acquire-core-x/app/entrypoint.sh
hyeongwoo-choi 5c819239ad 업무화면 포털 + HTTP→tpcall 게이트웨이 (검증용 화면 계층)
- app/src/clients/acq_httpgw.c: C 경량 HTTP 게이트웨이(:8090, libatmiclt만 링크)
  /api/call?svc=..&FLD=.. → UBF(CBchg) → (옵션 XA tpbegin/tpcommit) tpcall → JSON
  레거시 화면(Xplatform)→Webtier→Tuxedo 구조의 Webtier 대응
- app/ui/index.html: Xplatform풍 한국어 업무포털 (좌측 메뉴트리·폼·결과그리드·거래저널)
  화면 9종: 매입접수(XA체인)/상태조회/가맹점집계/한도조회/MDR/잔액검증/일마감/가맹점/Luhn
  + 333 서비스 자유호출 화면
- entrypoint: 게이트웨이 자동 기동, compose: 8090 포트 노출
- 검증: HTML 서빙, ACQUIRE 체인 HTTP 호출 → XA 커밋(purchase status=S), Luhn T_RC=0,
  pg_prepared_xacts=0

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-20 00:29:05 +00:00

54 lines
2 KiB
Bash
Executable file

#!/bin/bash
##
## Build (via the reusable build.sh) + boot the Enduro/X acquiring stack, then
## stay alive. Runs inside the app container (image acquire-x/endurox:7.0.12).
##
set -e
. /app/conf/setapp.sh
echo "=================================================================="
echo " acquire-core-x : build + boot (module-server pattern)"
echo "=================================================================="
# runtime dirs
mkdir -p /app/log /app/tmp /app/tmlogs/rm1 /app/bin /app/lib /app/obj
rm -f /app/log/*.log 2>/dev/null || true
# ensure posix mqueue is available (compose provides the sysctls/ulimits)
if [ ! -d /dev/mqueue ]; then
mkdir -p /dev/mqueue
mount -t mqueue none /dev/mqueue 2>/dev/null || true
fi
# ---------------------------------------------------------------------------
# Build everything + generate ndrxconfig.xml (discovers all modules)
# ---------------------------------------------------------------------------
bash /app/build.sh
ls -l /app/bin
# ---------------------------------------------------------------------------
# Boot Enduro/X
# ---------------------------------------------------------------------------
echo "--- xadmin down/start ---"
xadmin down -y 2>/dev/null || true
xadmin start -y
echo "--- xadmin psc (advertised services) ---"
xadmin psc
echo "--- xadmin ppm (processes) ---"
xadmin ppm
echo "--- acq_httpgw (업무화면 HTTP 게이트웨이 :8090 — 브라우저 → tpcall) ---"
nohup /app/bin/acq_httpgw > /app/log/acq_httpgw.log 2>&1 &
sleep 1
grep -q "listening" /app/log/acq_httpgw.log && echo "acq_httpgw: UP (:8090)" || tail -3 /app/log/acq_httpgw.log
echo "=================================================================="
echo " acquire-core-x : UP. Run the 매입 chain driver with:"
echo " docker compose -f docker/docker-compose.yml exec app /app/run-driver.sh"
echo " 업무화면(포털): http://localhost:8090/"
echo "=================================================================="
# keep the container (and the ndrxd daemon) alive
tail -F /app/log/ndrxd.log