通过扩展DefaultMessage创建一个类

时间:2012-05-08 19:25:20

标签: java apache-camel

我正在尝试重用DefautMessage类将主体发送到seda组件。 我的消息类在下面给出,没有实现。

public class TestMessage extends DefaultMessage{
}

然后我将其作为

进行访问
TestMessage msg = new TestMessage();
            msg.setBody(doc);
            getCamelContext().createProducerTemplate().sendBody("seda:inputDoc",msg);

但是在运行应用程序时,我遇到了以下异常:

Caused by: org.apache.camel.InvalidPayloadException: No body available of type: org.dom4j.Document but has value: Message: org.dom4j.tree.DefaultDocument@122bfd6 [Document: name testDocument] of type: com.test.TestMessage on: Message: Message: org.dom4j.tree.DefaultDocument@122bfd6 [Document: name testDocument]

我的实施有什么问题?

2 个答案:

答案 0 :(得分:0)

我认为你包装了错误的对象 它期待org.dom4j.Document但是得到了org.dom4j.tree.DefaultDocument

什么是doc type ??

答案 1 :(得分:0)

通常,您不需要定义自己的消息类。只需使用camel的DefaultMessage并设置所需的正文和标题。您尝试扩展DefaultMessage有特殊原因吗?