Trong khi ActiveMQ nhắn nhóm chắc chắn sẽ giải quyết xử lý song song của độc đáo ID khách hàng, đánh giá của tôi Claus là đúng đó giới thiệu một ga đối với từng nhóm duy nhất thể hiện một tính năng chưa thực hiện cho Camel/ActiveMQ.
Nhóm thư sẽ không đáp ứng SLA được mô tả. Mặc dù mỗi nhóm thông điệp (tương ứng với ID khách hàng) sẽ được xử lý theo một chuỗi cho mỗi nhóm, miễn là yêu cầu mất ít hơn một phút để nhận phản hồi, yêu cầu của một yêu cầu mỗi phút cho mỗi khách hàng sẽ không được thực thi .
Điều đó nói rằng, tôi rất muốn biết liệu có thể kết hợp các Nhóm thông báo và chiến lược ga theo cách mô phỏng yêu cầu tính năng trong JIRA hay không. Nỗ lực của tôi cho đến nay đã thất bại. Tôi đã suy nghĩ một cái gì đó dọc theo những dòng:
<route>
<from uri="activemq:pending?maxConcurrentConsumers=10"/>
<throttle timePeriodMillis="60000">
<constant>1</constant>
<to uri="mock:endpoint"/>
</throttle>
</route>
Tuy nhiên, ga dường như được áp dụng cho toàn bộ các yêu cầu di chuyển đến thiết bị đầu cuối, và không phải đến từng người tiêu dùng cá nhân. Tôi phải thừa nhận, tôi hơi ngạc nhiên khi thấy hành vi đó. Kỳ vọng của tôi là ga sẽ áp dụng riêng cho từng người tiêu dùng, điều này sẽ đáp ứng SLA trong câu hỏi ban đầu, miễn là các thông báo bao gồm ID khách hàng trong tiêu đề JMSXGroupId.
Nguồn
2012-12-21 15:42:08
của nó thực sự là một ý tưởng tốt để hỗ trợ thêm cho các nhóm trong hiện Throttler EIP. Điều đó nói rằng mặc dù các tin nhắn sẽ được giữ trong bộ nhớ trong khi họ chờ đợi để được phát hành. Hãy để tôi đăng nhập một JIRA để tăng cường này. –
Chỉ cần cho các hồ sơ ở đây là vé: https://issues.apache.org/jira/browse/CAMEL-5599 –
@ClausIbsen - nó được một thời gian, nhưng tôi muốn ném hỗ trợ đằng sau tính năng đó! – Denise