>  Q&A  >  본문

java - 메시지 큐 처리 임계 시간 문제

이제 메시지 대기열에서 메시지를 받은 다음 파일에 씁니다. 매 시간마다 하나씩 쓰는데, 이는 일괄 쓰기입니다. 하지만 문제가 있습니다. 새 파일이 작성될 때마다 이전 시간에 속해야 하는 일부 데이터가 시작 부분에 있고 메시지 본문에 시간이 있습니다. 모든 메시지가 자신의 파일에 엄격하게 기록되었는지 확인하는 방법. 지금 생각하는 것은 일괄적으로 작성된 버퍼를 시간, Map로 나누고, 하나의 버퍼는 1시간에 해당하고, 파일명은 해당 버퍼에 해당하는 시간 필드를 기준으로 생성되므로, 각 버퍼의 데이터는 문서 자체에 속합니다. 다른 더 좋은 방법이 있나요?

phpcn_u1582phpcn_u15822682일 전530

모든 응답(2)나는 대답할 것이다

  • 黄舟

    黄舟2017-05-17 10:10:07

    파일은 정시에 생성되며 각 메시지에는 쓰기와 일치하는 고유한 타임스탬프가 있습니다

    회신하다
    0
  • 我想大声告诉你

    我想大声告诉你2017-05-17 10:10:07

    다음과 같은 이유로 문제가 발생한 것 같습니다.

    1. 제작자가 메시지를 반복해서 보냈습니다

    2. mq가 소비자에게 메시지를 반복해서 보냈습니다

    3. 소비자는 mq에게 한 시간 전에 메시지를 소비했다는 사실을 알리지 않았기 때문에 mq는 다음 시간에 다른 메시지를 보냈습니다

    참조:

    1. activemq에 중복된 메시지

    2. jms-activemq에서 메시지 중복 방지

    3. 중복 감지

    회신하다
    0
  • 취소회신하다