2012-02-28 3 views
0

У меня возникает странная ситуация при использовании HornetQ.Сообщение JMS не получает добавлено

Мое приложение архитектура -

  • провайдера JMS: HornetQ (. Автономный сервер, не используется ни для чего другого я создал 2 очереди на этом сервере, скажем, Q1 и Q2).
  • Производитель: веб-приложение, развернутое на отдельной машине. Это приложение создает экземпляры «ObjectMessage», передавая экземпляр класса «Job» в качестве аргумента в метод ObjectMessage.setObject() и добавляет сообщение в Q1. Использует Spring JMS.

Я также установил строковое свойство с именем «AGENT» в сообщении перед добавлением его в очередь.

В чем особенность заключается в том, что если я вызываю ObjectMessage.setStringProperty ("AGENT", null), или если я не добавляю свойство к самому сообщению, сообщение не добавляется в Q1. Однако этого не происходит в Q2, и я могу видеть сообщение в консоли JMX HornetQ.

Есть ли определенная конфигурация очереди, на которую я должен смотреть?

Извинения за свободную формулировку. Мы с моей командой столкнулись с трудностями, пытаясь решить эту проблему.

Спасибо.

ответ

0

Как вы создаете Продюсера? и как вы его отправляете?

Возможно, вы не совершаете транзакционную сессию?

Я предполагаю, что вы используете JMS, но мне нужно будет увидеть код, который поможет вам лучше. Обычно форум JBoss лучше подходит для таких дискуссий, поскольку SOF не является дискуссионным форумом.

Я думаю, что лучше всего вы откроете форум на JBoss (так как после него будет обсуждение) и укажите ссылку здесь.

+0

Клеберт, эта проблема была решена нашей командой несколько дней назад. Проблема заключалась в том, что кусок кода, который отправлял сообщение в очередь, просматривался несколькими потоками одновременно. Фиксация кода, чтобы сделать его потокобезопасным, устранила проблему. Мы все еще пытаемся выяснить, в чем была главная причина. В любом случае спасибо. –