Я создаю верблюжий маршрут, первые шаги в порядке, но у меня проблемы с вызовом метода другого пакета osgi, который я сделал. Моя служба ожидает длинное значение параметра, и у моего pojo был только этот идентификатор.
Моя служба:
public interface FooService {
void bar(Long id);
}
Мой маршрут:
<route>
<from uri="direct:anEntry"/>
<bean ref="myBean" method="bar"/>
</route>
И мой формат данных для маршрута:
public class MyDto implements Serializable {
private static final long serialVersionUID = 1L;
private Long myId;
public Long getMyId() {
return myId;
}
public void setMyId(Long myId) {
this.myId= myId;
}
@Override
public String toString() {
return "MyDto [myId=" + myId+ "]";
}
}
С этим кодом вы получили исключение NoTypeConversionAvailableException.
Нет доступных преобразователей типов для преобразования из типа: my.company.MyDto в требуемый тип: java.lang.Long со значением MyDto [myId=141564]
Я не могу найти место для преобразования Dto.
Я попытался заставить свою службу ожидать dto с той же структурой, что и у маршрута, но у меня та же ошибка.
Есть идеи?