2012-12-20 3 views
1

BlockingQueue 구현을 사용하여 큐의 서비스별로 이벤트를 처리했습니다. 그러나 서버가 다운 된 경우 해당 대기열의 모든 이벤트가 삭제되고 따라서 처리 할 이벤트가 없습니다. (서버가 대기열에서 이벤트/메시지를 저장할 수있는 내부 DB를 찾고 있는데 서버가 다운되고 다시 올라가면 수동으로 개입하지 않고 모든 이벤트/메시지를 다시 처리 할 수 ​​있습니다.)메시지가 큐에서 삭제되었습니다.

이에 대한 도움. Apache ActiveMQ를 사용해야하는지 잘 모르겠습니다. 아파치 servicemix 사용하고 있습니다. 사전에

감사합니다.

답변

0

BlockingQueue를 사용하여이 작업을 수행하는 방법에 대해 답변을 드릴 수 없습니다.

Persistent Queues 그리고 아마도 당신은 또한 그것은이 바로 후드 아래에이 작업을 수행하고 메시지를 허용하는 데이터베이스에 내장되어 Durable Queues

보고 할 수 있습니다 :

하지만 ActiveMQ를 사용하면 도움이됩니다 두 가지 기능을 가지고 있습니다 브로커 또는 고객이 다시 시작해야하는 경우에도 대기열에 유지됩니다.

+0

기본적으로 activemq는 kahadb를 사용하여 temp db의 메시지를 유지하므로 서버가 충돌하면 모든 메시지가 복원됩니다. activemq.xml 파일에서 수행해야 할 설정이 있습니다. – Manglesh

관련 문제