Я создал новый конвертер со следующей структурой:Невозможно подобрать пользовательский верблюжий конвертер
package com.mycompany;
@Converter
public final class MyCustomConverter {
@Converter
public static TypeB convert(TypeA typeA) {
// do the conversion
}
}
Я также создал в моей src/main/java/resources
папки следующего пакета, META-INF.services.org.apache.camel
и в том, что файл, который TypeConverter
просто говорит:
com.mycompany
в моем маршруте из TypeA
я получил:
<convertBodyTo type="com.mycompany.TypeB" />
Но мои тесты постоянно не в состоянии подобрать файл и, таким образом, не может найти конвертер, с исключением является:
причиненном: org.apache.camel.NoTypeConversionAvailableException: Нет типа доступного конвертера для преобразования из Тип: com.mycompany.TypeA для требуемого типа: com.mycompany.TypeB со значением TypeA [value1 = «бла»]
Могу ли я имел в виду, чтобы сделать что-то еще, чтобы получить мой тест, чтобы подобрать TypeConverter файл? Несомненно, это папка ресурсов с точной структурой добавляет ее в путь к классам, и поэтому она будет доступна.
Thanks Claus. На самом деле я нашел, что мой конвертер работает. Однако один из наших тестов, который обычно издевается над всем, терпит неудачу, поскольку он не может найти конвертер. Я предполагаю, что есть что-то в тесте на верблюде, которое позволяет мне издеваться над вызовом convertBodyTo. Спасибо за отзыв о явном именовании конвертера. – edwardmlyte
Мы используем среду OSGI, и рассматриваемый класс тестов расширяет CamelBlueprintTestSupport. – edwardmlyte
Можете ли вы проверить, правильно ли вы создаете правильный META-INF/services/file в тестовом комплекте? –