SolrInputDocument выбрасывает MessageFormatException при добавлении в ActiveMQ? - PullRequest
1 голос
/ 07 февраля 2012

Я пытаюсь добавить SolrInputDocment (который является Сериализуемым) в очередь ActiveMQ (используя шаблон производителя Camel), но я получаю MessageFormatException ... какие-нибудь идеи?

вот мой код...

SolrInputDocument doc1 = new SolrInputDocument();
doc1.addField( "id", "1234", 1.0f );

template.sendBody("activemq:queue:test", doc1);

вот моя ошибка ...

Caused by: javax.jms.MessageFormatException: Only objectified primitive objects, String, Map and List types are allowed but was: id(1.0)={1234} type: class org.apache.solr.common.SolrInputField

ОБНОВЛЕНИЕ: проблема в том, что мне нужно явно установить JMSMessageType в «Объект», в противном случае используется MapMessage(который не поддерживает пользовательские типы) ...

template.sendBodyAndHeader("activemq:queue:test", doc1, JMS_MESSAGE_TYPE, "Object");

1 Ответ

2 голосов
/ 07 февраля 2012

Похоже, что свойства вашего сообщения содержат какой-то сложный Java-объект. Как насчет того, чтобы попытаться отправить "чистый" SolrInputDocument?

Cheers, Eugene.

...