у нас есть этот верблюжий апачский маршрут,
from(commandDrop).marshal(jaxbDataFormat).to(jmsQueue);
from(jmsQueue).inOut("jms:doCommand?requestTimeout=500000");
from("jms:doCommand").unmarshal(jaxbDataFormat).beanRef("bean");
.... и такой класс бобов
class BeanClass {
public void doCommand(Command command, Exchange exchange){
{
command.run();
exchange.getOut().setBody(command);
}
}
мы пытаемся поместить сообщение и ждать ответа на маршруте, подобного этому
Object ret = template.requestBody(commandDrop, new TestCommand());
Объекты на маршруте в прямом направлении великолепно становятся маршалированными / не маршалированными. Но вызов setBody вызывает исключение java.io.NotSerializableException. Есть ли способ настроить маршрут, чтобы использовать тот же самый jaxb-маршалинг / демаршалинг на обратном пути? Мой класс Command содержит некоторые сгенерированные jaxb объекты класса, которые не сериализуются. С ними хорошо справляется маршал / демаршал в прямом направлении, и было бы здорово, если бы они могли быть на пути назад. Я относительно новичок в верблюде, поэтому не уверен, что это лучший способ сделать это.
спасибо большое.