Мы используем ActiveMQ, в нашем проекте есть требование, чтобы группа сообщений, принадлежащая одной группе, использовалась одним потребительским потоком.
Например, у нас есть 3 (M1, M2, M3 ) сообщения, принадлежащие лицу A и 3 (M4, M5, M6) сообщения, принадлежащие лицу B.
Наше требование: все сообщения принадлежат лицу A, должны быть использованы потоком 1 потребителя, и все сообщения принадлежат человек B должен быть поглощен потребительским потоком 2.
На основании документации ActiveMQ и, по нашему мнению, мы использовали концепцию JMXGroupId в ActiveMQ. Например, мы установили JMSXGroupId
как 123
для всех сообщений (M1, M2, M3), принадлежащих человеку A, и 234
для всех сообщений (M4, M5, M6), принадлежащих человеку B.
С JMXGroupId
в некоторых случаях все сообщения, принадлежащие человеку A & B (M1, M2, M3, M4, M5 и M6), отправляются в один и тот же потребительский поток 1. Но по нашему требованию оно должно идти к двум различным нити.