文档章节

Camel-Component组件总结

l
 lvk618
发布于 2016/06/15 09:14
字数 480
阅读 15
收藏 0

了解OSGI领域的都知道,osgi的路由很强大,然而在路由的背后,有几个组件是非常重要的。


S1.SEDA Component


The seda: component provides asynchronous SEDA behavior, so that messages are exchanged on a BlockingQueue and consumers are invoked in a separate thread from the producer.

Note that queues are only visible within a single CamelContext. If you want to communicate across CamelContext instances (for example, communicating between Web applications), see the VM component.

This component does not implement any kind of persistence or recovery, if the VM terminates while messages are yet to be processed. If you need persistence, reliability or distributed SEDA, try using either JMS orActiveMQ.

总结:Seda异步并且不跨CamelContent的,不继支持任何的持久化和恢复机制,失败之后没有处理的消息不会再处理,如果需要持久化、消息可靠或者达到分布式,那么我们可以考虑用JMS(jvm消息服务)和MQ。

eg:<route><from uri="seda:_targeUri"/><to uri="seda:_targeUri"/></route>


V2.VM Component


The vm: component provides asynchronous SEDA behavior, exchanging messages on a BlockingQueue and invoking consumers in a separate thread pool.

This component differs from the Seda component in that VM supports communication across CamelContext instances - so you can use this mechanism to communicate across web applications (provided that camel-core.jaris on the system/boot classpath).

VM is an extension to the Seda component.


总结: Vm异步并且 跨CamelContent的,是Seda的扩展。
eg:<route><from uri="vm:_targeUri"/><to uri="vm:_targeUri"/></route>

   3.Direct Component


The direct: component provides direct, synchronous invocation of any consumers when a producer sends a message exchange.
This endpoint can be used to connect existing routes in the same camel context.

总结:Direct同步并且不跨CamelContent的。
eg:<route><from uri="direct:_targeUri"/><to uri="direct:_targeUri"/></route>

44.Direct VM Component


The direct-vm: component provides direct, synchronous invocation of any consumers in the JVM when a producer sends a message exchange.
This endpoint can be used to connect existing routes in the same camel context, as well from other camel contexts in the same JVM.

This component differs from the Direct component in that Direct-VM supports communication across CamelContext instances - so you can use this mechanism to communicate across web applications (provided that camel-core.jar is on the system/boot classpath).


总结: direct-vm 同步 并且 跨CamelContent 的,是Direct的扩展。
eg:<route><from uri="direct-vm:_targeUri"/><to uri="direct-vm:_targeUri"/></route>

本文转载自:http://blog.csdn.net/lk10207160511/article/details/51104445

l
粉丝 3
博文 80
码字总数 792
作品 0
广州
私信 提问
JBoss Fuse 6.2 发布,企业服务总线

JBoss Fuse 6.2 发布,更新内容如下: Camel 2.15 改版本有最多 40个组件可供选择: * camel-ahc-ws * camel-atmosphere-websocket * camel-beanstalk * camel-box * camel-cassandraql * ca......

oschina
2015/06/24
2.4K
3
JBoss Fuse 6.3 发布,企业服务总线

JBoss Fuse 6.3 发布了。 Fuse ESB (现已改名 JBoss Fuse)核心是一个ESB产品,你可以把开发使用OSGi Bundle封装后的WebService或OSGi作为服务直接部署到ESB,但更多的应用模式是纯粹将其作...

达尔文
2016/10/09
2.7K
0
Apache Camel 2.15.5 发布,规则引擎

Apache Camel 2.15.5 发布,此版本更新内容如下: Bug 修复 [CAMEL-9161] - Camel spring-boot not finding routes when using spring-cloud [CAMEL-9202] - Flatpack: Body reader never c......

淡漠悠然
2015/12/01
1K
2
Camel-Core 分析 (1)

在Camel中定义一个路由最基本的元素有Context,Component,endPoint 。 在下图中可以看到Camel的顶层接口为Service. Camel的组件(比如Route,Component,Component,Endpoint,)都是以服务的形式...

vidy_tu
2013/06/09
677
0
Apache Camel 2.11.4 发布

Camel 社区发布了新的补丁版本 camel-2.11.4,2月16日发布了 2.12.3 版本。此版本更新内容如下: Bug [CAMEL-6922] - XmlConverter cannot convert from ElementNSImpl to Document [CAMEL-6...

oschina
2014/02/26
1K
3

没有更多内容

加载失败,请刷新页面

加载更多

STM32进阶之串口环形缓冲区实现

队列的概念 在此之前,我们来回顾一下队列的基本概念: 队列 (Queue):是一种先进先出(First In First Out ,简称 FIFO)的线性表,只允许在一端插入(入队),在另一端进行删除(出队)。 队列...

杰杰1号
27分钟前
10
0
设计模式-建造者模式

建造者模式 定义 将一个复杂对象的构建和它的表示分离,使得同样的构建过程创建出不同的表示。这句话理解起来优点抽象,我们打个简单的比方吧,中国人都喜欢做菜,做菜的时候后会放很多配料...

木本本
31分钟前
9
0
017、xml版本代码生成器配置

1、在pom.xml文件中增加mybatis-generator-maven-plugin插件 <build> <plugins> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>......

北岩
43分钟前
7
0
用jQuery-Easy-UI编写注册页面

本文转载于:专业的前端网站➮用jQuery-Easy-UI编写注册页面 1 <!DOCTYPE html> 2 <html lang="en"> 3 4 <head> 5 <meta charset="UTF-8"> 6 <meta name="viewport" content=......

前端老手
51分钟前
7
0
Git ssh配置

生成密钥对 ssh-keygen -t rsa -C "email@email.com"邮箱替换自己邮箱在地址C:\Users\账户\.ssh下,id_rsa、id_rsa.pub两个文件复制文件id_rsa.pub内容到github\gitlab的Settings-> SSH ......

JUKE
59分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部