根据 Camel 文档,我创建了 JaxbDataFormat(文档中的示例代码使用了不存在的构造函数?)
@Override
public void configure() throws Exception {
JaxbDataFormat jaxbDataFormat = new JaxbDataFormat();
jaxbDataFormat.setContextPath("somepackage");
Run Code Online (Sandbox Code Playgroud)
我有 pom 依赖
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-jaxb</artifactId>
<version>2.18.3</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
不起作用:“ConvertBody...因为无法创建数据格式'jaxb'。”
有人可以给出一个示例代码,说明 jaxb 转换应该如何与 Camel 一起使用。我有 Camel in Action 2ed,但那里的示例使用 XML-definde 路由。使用 XML 的过程似乎很简单 - 但我对使用 xml 作为编程语言不是很热情;)
使用 Java 8。
………………
线程“CamelMainRunController”中的异常java.lang.RuntimeException:org.apache.camel.FailedToCreateRouteException:无法在以下位置创建路由route2:>>> Marshal[org.apache.camel.model.dataformat.JaxbDataFormat@57d7f108] <<< in路线:Route(route2)[[From[activemq:gateway.queue]] -> [OnException... 因为无法创建数据格式'jaxb'。确保数据格式有效并且关联的 Camel 组件存在于 org.apache.camel.spring.boot.CamelSpringBootApplicationController.run(CamelSpringBootApplicationController.java:74) 处的类路径中 org.apache.camel.spring.boot.CamelMainRunController $DaemonTask.run(CamelMainRunController.java:42) at java.lang.Thread.run(Thread.java:745) 引起:org.apache.camel.FailedToCreateRouteException:无法在以下位置创建路由 route2:>>> Marshal[org.apache.camel.model.dataformat.JaxbDataFormat@57d7f108] <<< in route: Route(route2)[[From[activemq:gateway.queue]] -> [OnException... 因为数据无法创建格式“jaxb”。确保数据格式有效,并且关联的 Camel 组件存在于 org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:1071) 的类路径中,位于 org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition) .java:196) 在 org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:984) …