>

kafka-jms-client를 사용하여 현재 jms 브로커를 교체하고 싶습니다. 문서 에 따르면 일부 기능은 지원되지 않습니다 커밋 또는 롤백과 같은 클라이언트가 커밋 또는 롤백을 호출하면 어떻게됩니까? API가 단순히 응답하지만 실제로 Kafka 측에서 아무것도하지 않습니까?

  • 답변 # 1

    소스 코드를 들여다 보면 구현이 모두 javax.jms.Session.commit() 임을 알 수있다  그리고 javax.jms.Session.rollback()  Kafka JMS 클라이언트의 경우 아무 것도 수행하지 않습니다.

    다음은 rollback() 에 대한 구현입니다. 여기 commit() 에 대한 구현이 있습니다.  ( commit() 를 호출합니다.   KafkaMessageConsumer 에서 ). 보시다시피 두 방법 모두 궁극적으로 아무것도하지 않습니다. 마치 모든 것이 작동하는 것처럼 돌아옵니다.

    javax.jms.Session 에 대한 다른 방법의 많은  구현도 이와 동일한 패턴을 따릅니다.

  • 이전 database - RESTful Api를 사용하는 이유
  • 다음 python - 목록 사본에 항목 추가 예기치 않은 동작