Camel中的几个重要概念之 Message和Exchange
Message
Message 接口提供了一个对单个消息的抽象,这些消息可以是一个请求,回复或者是一个异常。
对于每个Camel是支持的通讯技术来说,都需要提供一个Message接口的实现。例如JmsMessage就提供了一个Message接口的JMS实现. 在message接口中提供一个get/set方法来访问message id, body 以及message中每个单独header。
?
Exchange
而exchange接口则表示了对message exchange的抽象, 也就是说一个请求消息以及与之对应的应答消息或者异常消息肯定会与一个Exchange相关联。对于Camel来说,请求和应答以及异常消息都分别被称为in, out 以及 fault message。
对于每个Camel所支持的通信技术来说来说,都需要一个实现了Exchang接口的的类。 例如JmsExchange 类就提供了一个Exchange接口的JMS实现。对于Exchange接口来说它提供的公共的API很有限。 但是对于实现Exchange的具体的类来说,它可以添加很多与其支持的通讯协议相关操作。
应用层的程序应该很少直接访问Exchange(或者是实现Exchange的类)。由于Camel很多类都大量使用了有关(Exchange)的泛型定义,所有你会在很多的类和方法中看到Exchange接口的身影。