2016-06-07 3 views
0

현재 두 응용 프로그램간에 연결을 만들고있는 시스템을 작성 중입니다. 해당 응용 프로그램 중 하나가 glassfish jms 대기열로 메시지를 보냅니다. 나는 아직 수신자의 말을 쓰지 않았다. 그리고 내가 알아 차 렸던 것은 대기열에 대한 청취자가 없기 때문에 대기열이 채워지는 것이다.풀이 거의 가득 차있을 때 빈 jms 큐

내가 원하는 것은 대기열이 거의 가득 차 있는지 그리고 완전히 비어 있는지 확인하는 것입니다. 이것을 할 수있는 방법이 있습니까? 나는 정말로 아무것도 찾을 수 없었다.

또는 새 메시지를 계속 보낼 수 있도록 오래된 메시지를 제거 할 수 있습니까?

답변

1

물론 실질적인 제한 사항이 있지만 JMS와 같은 대기열 처리 시스템은 "채워지지 않습니다". "무한"용량을 갖도록 설계되었습니다. 분명히 리소스를 차지하지 않고 무한한 수의 메시지를 보낼 수 없으므로 실질적인 제한이 있습니다.

메시지 생성자 쪽에서 메시지가 생성되도록 time to live을 정의해야하는 것처럼 들립니다. 예를 들어, 메시지는 10 초만 지속될 수 있습니다. 이런 식으로 당신은 "오래된"메시지를 얻지 못할 것입니다. JMS 공급자에 따라 TTL의 경과 시간에 관한 메시지를받을 수도 있지만 오래된 메시지는 많지 않을 수 있습니다.

+0

방금 ​​메시지를 보낼 시간 옵션을 추가했습니다. 나는 이것을 내일 시험해야 할 것입니다. 만약 이것이 내 문제를 해결했는지 그리고 당신이 신자를 받아들이는지 알게 될 것입니다. – NoSixties

관련 문제