Раздел 2.14 JMS 2.0 Spec:является поточно сообщение безопасным
JMS мог бы потребовал, чтобы все его объекты поддерживают одновременное использование. Поскольку поддержка параллельного доступа обычно добавляет некоторые накладные расходы и сложности, дизайн JMS ограничивает его требование для одновременного доступа к тем объектам, которые, естественно, будут совместно использоваться многопоточным клиентом . Остальные объекты рассчитаны на , к которым обращается один логический поток управления за раз.
Поддерживает Параллельное использование: назначения, ConnectionFactory, соединение
Не поддерживает одновременное использование: JMSContext, Session, производитель, потребитель
Не уверен, почему безопасность нить сообщение не обсуждается в спецификации ?
EDIT
Является ли поток сообщений безопасно? Могут ли две нити делиться ею без гонки?
№ сообщения Сообщение не является потокобезопасным. Он не должен делиться между потоками.
Зачем вам нужен доступ к одному и тому же объекту Message в нескольких потоках? В частности, измените сообщение в нескольких потоках. Вы можете разрешить одновременное чтение для нескольких потребителей. –
Было бы безопасно делиться сообщением между потоками, если они не попытаются изменить сценарий –
сообщения - два потока обрабатывают полезную нагрузку и устанавливают свойство сообщения. Можно ли это сделать параллельно без гонки? –