преобразование объектов при работе с 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
Не понимаю почему в одну сторону маршалин выполняется автоматически, при возврате объекта нет. Как указать явно в маршруте, может быть, или другими способами...


Kommentare (0)

Kommentare werden nicht hinzugefügt

Registrieren Sie sich oder melden Sie sich an, um schreiben zu können.
Unternehmen des Tages
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Mitwirkende
advanced
Absenden