无法拿起定制的骆驼转换器

时间:2013-07-16 14:57:56

标签: apache-camel

我创建了一个具有以下结构的新转换器:

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 =“blah”]

我是否打算做其他事来让我的测试拿起TypeConverter文件?当然将它放在具有确切结构的资源文件夹中会将其添加到类路径中,因此可以访问它。

1 个答案:

答案 0 :(得分:3)

建议在TypeConverter文件中列出所有类型对流器的FQN,例如

com.mycompany

应该是

com.mycompany.MyCustomConverter

这也是我们在此页面上所说的内容:http://camel.apache.org/type-converter.html

您是否可以在生成的JAR文件内部检查META-INF / services / org / apache / camel目录,并且TypeConverter文件存在(并且它不在某些目录中,如META- INF / org.apache.camel)。

您使用的运行时环境是什么?你运行Camel独立,Tomcat,OSGi还是别的什么?