Este repositório foi utilizado para a escrita do artigo sobre como chamadas remotas em contexto transacional de banco de dados impactam o tempo de resposta / escalabilidade da aplicação.
O artigo pode ser encontrado na seguinte URL: https://www.fnbrandao.com.br/blog/2023/02/impacto-de-two-phase-commit-2pc-xa-na-disponibilidade-performance/
Rodar um Oracle com o seguinte comando:
docker run -d --name oracle --network host -e ORACLE_ALLOW_REMOTE=true oracleinanutshell/oracle-xe-11g
Rodar o ActiveMQ Artemis com os seguite comando:
docker run --name activemq-artemis --cpus 1.0 --rm --network host -e ARTEMIS_USERNAME=admin -e ARTEMIS_PASSWORD=secret vromero/activemq-artemis
Para rodar o código, executar os seguinte comandos:
Caso queira executar com o Two Phase Commit habilitado:
./gradlew bootRun -P2pc
Para desabilitar o Two Phase Commit:
./gradlew bootRun
Utilizar as seguintes URL para verificar o comportamento com / sem Two Phase Commit: