Java 如何将XStream引用传递到camel以进行编组

Java 如何将XStream引用传递到camel以进行编组,java,apache-camel,xstream,Java,Apache Camel,Xstream,来自的示例代码 如果要配置Camel用于消息转换的XStream实例,只需在DSL级别传递对该实例的引用即可 但这段代码是错误的,因为org.apache.camel.model.dataformat.XStreamDataFormat构造函数只接受字符串。如何在camel中配置自定义com.thoughtworks.xstream.xstream 我不想使用XML,我的应用程序使用的是Spring。如果你想快速完成它,而不是通过“封送”,你可以重定向到一个封送“bean”,它将以你需要的方式进

来自的示例代码

如果要配置Camel用于消息转换的XStream实例,只需在DSL级别传递对该实例的引用即可

但这段代码是错误的,因为
org.apache.camel.model.dataformat.XStreamDataFormat
构造函数只接受字符串。如何在camel中配置自定义
com.thoughtworks.xstream.xstream


我不想使用XML,我的应用程序使用的是Spring。

如果你想快速完成它,而不是通过“封送”,你可以重定向到一个封送“bean”,它将以你需要的方式进行marhsalling

from(...).bean('marshallingBean').to(...)
完整代码
FooDeserializer.java
我的解决方案

final XStream xStream = new XStream();
xStream.aliasField("money", PurchaseOrder.class, "cash");

from("direct:marshal")
        .process(new Processor() {
            @Override
            public void process(Exchange exchange) {
                String xmlConverted = xStream.toXML(exchange.getIn().getBody());
                exchange.getIn().setBody(xmlConverted);
            }
        }).to("mock:marshaled");
确保你使用

import org.apache.camel.dataformat.xstream.XStreamDataFormat;
而不是

import org.apache.camel.model.dataformat.XStreamDataFormat;
上课

new XStreamDataFormat(xStream)
import org.apache.camel.dataformat.xstream.XStreamDataFormat;
import org.apache.camel.model.dataformat.XStreamDataFormat;
new XStreamDataFormat(xStream)