Java 通过扩展DefaultMessage创建类
我试图重用DefautMessage类来将身体发送到seda component。 下面给出了我的消息类,没有实现Java 通过扩展DefaultMessage创建类,java,apache-camel,Java,Apache Camel,我试图重用DefautMessage类来将身体发送到seda component。 下面给出了我的消息类,没有实现 public class TestMessage extends DefaultMessage{ } 那我就把它当作 TestMessage msg = new TestMessage(); msg.setBody(doc); getCamelContext().createProducerTemplate().sendBody("
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]
我的实现出了什么问题?我认为您包装了错误的对象 它需要org.dom4j.Document,但得到了org.dom4j.tree.DefaultDocument
什么是文档类型???通常您不需要定义自己的消息类。只需使用camel的DefaultMessage并设置所需的正文和标题。您尝试扩展DefaultMessage有什么特殊原因吗?我没有为camel打包任何东西。当我将文档传递到路线时,它工作正常。当我将请求文档包装到默认消息正文中时,会出现此异常。