ActiveMQ 대기열 (트랜잭션 없음)에서 이미 메시지를 읽거나 생성 할 수있는 독립 실행 형 응용 프로그램 (간단한 명령 행 jar)이 있습니다.2 개의 ActiveMQ 인스턴스 간의 트랜잭션 관리?
원격 ActiveMQ 큐에서 메시지를 읽고 다른 원격 ActiveMQ 큐에 넣을 수있는 기능을 추가하고 싶습니다. 2 개의 ActiveMQ는 완전히 다를 수 있으며 동일하지 않을 수 있으며 연결 문제가있을 경우 전송 중에 메시지가 손실되지 않도록해야합니다.
2 개의 완전히 다른 ActiveMQ 사이에서 전송하기 때문에 트랜잭션에 대한 많은 읽기 작업을 수행하고 있으며 이해할 수있는 한 간단한 JmsTransactionManager만으로는 충분하지 않지만 분산 트랜잭션 관리가 필요합니다 (XA 트랜잭션과 유사).
나는 여러 다른 라이브러리와 관련하여 인터넷에서 발견 된 코드 예제의 바다에서 완전히 잃어버린다.
아무도 나를이 문제에 대한 가장 간단한 해결책을 찾는 방법을 가리킬 수 있습니까? 어쨌든 Spring 위에 JTA를 사용해야합니까? (비 -J2ee 응용 프로그램 서버 환경에서 JTA를 사용할 수 있습니까?) 나는 이미 봄을 사용하여 메시지를 보내고 받기 위해 jmstemplate을 사용하고 있으므로 봄을 사용하면 좋을 것이다.
감사합니다. 나는 똑같은 생각을했지만 복제 시나리오를 실현하지 못했습니다. 솔직히 나는 가능하다면 복제본을 피하고 싶습니다. 현재 성능은 실제로 문제가 아니므로 분산 트랜잭션을 고려할 것입니다. 나는 이런 시나리오에서 Atomikos와 같은 3PP JTA 구현으로 더 나을 것이 낫겠습니까? 맞습니까? 또한 동일한 원격 ActiveMQ의 2 대기열 사이에서 메시지를 단순히 이동시키는 시나리오에서는 스프링의 JmsTransactionManager가 충분합니까 아니면 포함 된 인스턴스에만 해당할까요? – ByteFlinger
분산 된 (XA) 트랜잭션 구현에 대한 자세한 내용은 여기를 참조하십시오. http://stackoverflow.com/questions/22072100/xa-transactions-between-2-jms-brokers-activemq – ByteFlinger