`
alloyer
  • 浏览: 32443 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Camel - Bean Integration

阅读更多

原文地址: http://camel.apache.org/bean-integration.html

 

Camel支持多种方式的对beans和POJO类的集成。

 

1)Bean绑定 (Bean Binding)

当Camel调用一个Bean方法时,不管是通过Bean组件,Spring远程服务(Spring Remoting)或者POJO Consuming,Bean绑定机制都会用于指定调用的具体方法(在没有显式指定的情况下),并确定怎么将消息绑定到具体参数,这个过程可能使用参数绑定标注(Parameter Binding Annotations)实现。

2)标注 (Annotations)

如果一个Bean是由Spring XML定义,或者使用Spring 2.5的组件扫描机制(component scanning mechanism)扫描得到,并且其中使用了<camelContext>或CamelBeanPostProcessor,那么我们可以借助于大量Camel标注,来提供一些服务支持,比如注入资源或者生产、消息或路由消息。

  • POJO Consuming 用于消费消息,也有时会路由消息;
  • POJO Producing 用于简化从POJO类中生产Camel消息的过程;
  • RecipientList Annotation 用于从POJO类方法中创建接收列表(Recipient List);
  • Bean Injection 用于将Camel相关的资源注入到POJO类中;
  • Using Exchange Pattern Annotation 描述了模型标注(pattern annotations)怎样借助于Spring远程服务或POJO Producing改变方法调用行为的。

3)Spring远程服务 (Spring Remoting)

Camel支持Spring远程服务提供组件,它可以使用Camel作为底层传输机制。这种方式的好处是我们可以使用任意的Camel传输组件进行beans间的通信。同样意味着我们可以在beans间使用基于内容的路由器(Content Based Router)和其他企业集成模式(Enterprise Integration Patterns);尤其是使用消息转换器(Message Translator)来转换传输中的消息的样式,甚至为消息添加各种各样的头等等。

4)Bean组件 (Bean Component)

Bean组件支持对一个Java接口创建代理;而实现方式仅仅需要发送一条包含有BeanInvocation信息的消息到Camel接入点上(endpoint)。

而后,服务端的实现会处理这条消息,使用Bean绑定来把消息绑定到调用方法上,绑定的过程会传入相应的参数。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics