Phase 1: 실동작 Enduro/X + PostgreSQL XA 매입 슬라이스
- Enduro/X 7.0.12 소스빌드 이미지(-DENABLE_POSTGRES=ON, libndrxxaecpg XA 스위치) - docker-compose: postgres(max_prepared_transactions=100) + endurox app - ECPG XA 서비스 3종: ACQUIRE→RECONCILE→SETTLE (tpservice + EXEC SQL) - 클라이언트 tpbegin/tpcall체인/tpcommit → tmsrv 2PC(prepare/commit) 원자 커밋 - 검증: 서비스 AVAIL, 커밋 row(status=S) psql 확인, 롤백 시 무잔존, pg_prepared_xacts=0 - 규명된 런타임 요건: sysctl fs.mqueue.*, ulimit msgqueue/nofile, XA open-str JSON - docs/architecture.md, README, service-catalog 설계 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
commit
e6e29e6b5d
19 changed files with 1005 additions and 0 deletions
16
app/run-driver.sh
Executable file
16
app/run-driver.sh
Executable file
|
|
@ -0,0 +1,16 @@
|
|||
#!/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
|
||||
. /app/conf/setapp.sh
|
||||
|
||||
if [ "$#" -ge 1 ]; then
|
||||
exec /app/bin/acqdrv "$@"
|
||||
fi
|
||||
|
||||
echo "===== COMMIT run (ACQUIRE -> RECONCILE -> SETTLE, tpcommit) ====="
|
||||
/app/bin/acqdrv M0001 1000000 2026-07-19
|
||||
|
||||
echo
|
||||
echo "===== ROLLBACK run (same chain, tpabort) ====="
|
||||
/app/bin/acqdrv M0002 500000 2026-07-19 abort
|
||||
Loading…
Add table
Add a link
Reference in a new issue