преобразование объектов при работе с ActivemQ

 
0
 
Java
ava
PerchFish | 26.03.2013, 17:21
Попытка применить в проекте Camel+activemq для передачи сообщений и возникла проблема при использовании не текстовых сообщений. При сериализации возникают подобные проблемы. Передать в одну сторону получается, но вернуть ответ вызывает проблемы.

Есть класс

@XmlRootElement
@XmlType
public class Customer{
    String name;

    public Customer() {
    }

    public Customer(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }
    @XmlElement
    public void setName(String name) {
        this.name = name;
    }

}


Маршрут описываю след образом

public class ServerRoutes extends RouteBuilder {

    @Override
    public void configure() throws Exception {
     
       from("jms:queue:testcust").to("bean:customerReciever");
  }
}


Ресивер

public class CustomerReciever {

    public Customer receive(Customer customer) {
     System.out.print(customer.getName());
        return customer;
    }
}


Отправка

   Customer customer = new Customer("X-X");    
       Customer cst = (Customer) camelTemplate.sendBody("jms:queue:testcust", ExchangePattern.InOut,customer);



Принимающая сторона получает объект, получает свойство Name. На отправителе при возврате объекта получаю
Exception in thread "main" java.lang.ClassCastException: [B cannot be cast to com.xcompany.camel.Customer
Не понимаю почему в одну сторону маршалин выполняется автоматически, при возврате объекта нет. Как указать явно в маршруте, может быть, или другими способами...


Comments (0)

Comments are not added

Please register or login to write.
Firm of day
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Contributors
advanced
Submit