camel
文章平均质量分 55
Mr_Bang_Lu
互相交流
展开
-
camel-JndiRegistry
JndiRegistry正如它的名字一样是基于JNDI的注册,它是camel集成的第一个注册,因此也是camel默认的注册。 JndiRegistry经常是被用来测试或者单独运行camle,在camel中大部分的单元测试都是使用JndiRegistry,因为它在SimpleRegistry添加到Camel之前被创建的。 假如在应用服务器中你需要用到JNDI registry,你可以向下原创 2016-10-18 14:34:26 · 466 阅读 · 0 评论 -
camel笔记
camel是一个开源的集成框架,它的核心特征是它的路由和中介引擎。而它有两种方式去定义路由的规则: 1.基于java特定域的DSL 语言 2.Spring Xml配置的方式。 Java DSL :from("file:data/inbox").to("jms:queue:order"); Spring DSL:原创 2016-10-09 16:27:54 · 331 阅读 · 0 评论 -
camel2
Message:信息通讯的实体,Message从一个发送者流动到一个接收者。 Message的构成: Message 的消息传递方式: Message被唯一的标识用java.lang.String来标识 Headers: 包括发送者的身份标识,文本内容的编码格式,等等。Headers是一个name-value的键值对,name是一个唯一的不区分大小写的字符原创 2016-10-10 10:23:20 · 294 阅读 · 0 评论 -
camel4
ENDPOINT: endpoint是camel的抽象通道模型,在这个通道中可以发送消息,接收消息。 可以通过使用URIs来配置endpoint,例如: file:data/inbox?delay=5000 Endpoint URIs被划分成3个部分:Scheme ,Context Path ,Options。 Schema是camel组件原创 2016-10-10 13:30:55 · 229 阅读 · 0 评论 -
camel5
Producer: producer是camel的抽象实体,能够创建Exchange,把message填充到Exchange,并发送信息到Endpoint. Consumer: consumer是能够接收producer生产消息的服务。并将接收的Exchange发送给Processor进行处理。 在camel中有两种类型的Consumer: 1.event-driven原创 2016-10-10 13:55:04 · 320 阅读 · 0 评论 -
camel6
路由的过程: JMS: JMS有两种类型的JMS目的地: 1.queues queues是point-to-point点对点的通道。每一个信息只有一个接收者。 2.topics topics将消息的副本发送给所有的客户机,订阅者来接收那些消息。 添加jms组件: CamelContext context = new DefaultCamelConte原创 2016-10-10 14:36:55 · 341 阅读 · 0 评论 -
camel7
在路由的过程中添加一个Process进行处理的过程: FTP作为输出的消费者将消息发送给Processor,然后Processor发送给生产者JMS queue原创 2016-10-10 18:05:48 · 233 阅读 · 0 评论 -
camel8
Content base router: from("jms:incomingOrders") .choice() .when(predicate) .to("jms:xmlOrders") .when(predicate) .to("jms:csvOrders"); Predicate是camel中一个很简单的接口,只有一个matches方法 public i原创 2016-10-12 13:18:55 · 246 阅读 · 0 评论 -
camel9
看似好像基于内容的路由(Context base route)是一个结束的路由。消息只能传送到几个目的地中的一个。其实并非如此。 from("jms:incomingOrders") .choice() .when(header("CamelFileName").endsWith(".xml")) .to("jms:xmlOrders") .when(header("CamelFileN原创 2016-10-12 13:55:13 · 359 阅读 · 0 评论 -
camel-exchange
在Exchange中使用getIn 和getOut方法: camel Exchange定义了两种方法去获取信息。getIn 和getOut。 getIn()方法返回进入的信息。 getOut()方法访问出站的信息。 有两种场景是camel使用者必须决定使用上述的方法: read-only场景:例如当你记录进入的消息。 write场景:例如当你转换消息。 在第二个场景中,你认为原创 2016-10-14 10:29:58 · 1363 阅读 · 0 评论 -
camel-Transform
Transform()是java DSL中的一个方法,用于在camel路由中转换消息。 下面举一个小例子: 假设你需要将HTML文本中的标签替换成那么我们可以这样做: from("direct:start") .transform(body().regexReplaceAll("\n", "")) .to("mock:result"); 也可以通过下面的方法来实现上述的功能原创 2016-10-14 11:17:26 · 932 阅读 · 0 评论 -
camel-XSTL component
XSTL component: from("file://rider/inbox") .to("xslt://camelinaction/transform.xsl") .to("activemq:queue:transformed") 文件的消费者将文件路由到XSLT component,并使用Style sheet样式来转换负载的信息。转换之后,信息被路由到jms原创 2016-10-14 16:57:16 · 215 阅读 · 0 评论 -
camel类型转换-convertBodyTo
假设您需要使用javax.jmx.TextMessage文件路由到一个JMS队列,你需要转换每一个文件为String。 from("file://riders/inbox") .convertBodyTo(String.class) .to("activemq:queue:inbox"); 用Spring Xml的方式实现上述的代码: 上述的代码可原创 2016-10-17 16:53:46 · 1626 阅读 · 0 评论 -
camel-JAXB
使用JAXB序列化对象到Xml,并将Xml转换成对象。 org.apace.camel.spi.DataFormat包含两个方法: marshal:—封送处理消息转换为另一种形式,例如:封装java对象到 XML , CSV , EDI , HL7 ,或者其它知名的格式。 unmarshal:—执行相反的操作,原创 2016-10-17 14:20:47 · 583 阅读 · 0 评论 -
Xml格式的转换-marshaling
通过在camel中使用XStream将信息转换为Xml格式: 通过marshal将信息转换成Xml发送到activemq:queue消息队列中。 也可以在路由的一开始就使用XStream数据格式: 也可以用Java DSL,写法更加简单: from("direct:foo").marshal().xstre原创 2016-10-17 14:00:50 · 811 阅读 · 0 评论 -
camel-bean
使用Processor调用HelloBean中的hello方法: public class HelloBean { public String hello(String name) { return "Hello " + name; } } public class InvokeWithProcessorRoute extends RouteBuilder { publi原创 2016-10-18 10:30:43 · 705 阅读 · 0 评论 -
camel-SimpleRegistry
SimpleRegistry实际上是基于Map的注册,它主要被用于测试,或者单独的运行camel。 下面举一个例子,使用SimpleRegistry去单元测试Camel路由。 public class HelloBean { public String hello(String name) { return "Hello " + name; } } public clas原创 2016-10-18 14:17:57 · 955 阅读 · 0 评论 -
camel3
Exchange: exchange是camel路由信息交换的容器,支持各种类型系统之间的交互。也被称为信息交换模式(MEPs)。 exchange消息的类型有两种: InOnly:单向消息 InOut:请求—相应消息 Exchange结构: Exchange ID:Exchange的唯一标识。 MEP:一种模式标识使用InOnly还是使用InOut。 Except原创 2016-10-10 11:03:00 · 344 阅读 · 0 评论