osgi7——camel发送rabbitmq
来源:互联网 发布:二战德国实力 知乎 编辑:程序博客网 时间:2024/05/16 06:38
esb环境下经常需要用时间处理,下面介绍用camel发送rabbitmq。
1.blueprint的配置
<?xml version="1.0" encoding="UTF-8"?><blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0" xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsdhttp://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0 http://aries.apache.org/schemas/blueprint-cm/blueprint-cm-1.1.0.xsd"> <cm:property-placeholder persistent-id="con.yyc.rabbitMQ" update-strategy="reload"> <cm:default-properties> <cm:property name="RabbitMQ.password" value="dsfdss23i55423493/fjdsfdsklou545" /> <cm:property name="RabbitMQ.host" value="192.168.1.43" /> <cm:property name="RabbitMQ.port" value="5672"/> <cm:property name="RabbitMQ.username" value="guest" /> <cm:property name="RabbitMQ.password" value="guest" /> <cm:property name="queue_name" value="con.yyc.rabbitMQ.loginlog" /> <cm:property name="exchang_name" value="con.yyc.rabbitMQ.loginlog" /> </cm:default-properties> </cm:property-placeholder> <bean id="customConnectionFactory" class="com.rabbitmq.client.ConnectionFactory"> <property name="host" value="${RabbitMQ.host}"/> <property name="port" value="${RabbitMQ.port}"/> <property name="username" value="${RabbitMQ.username}"/> <property name="password" value="${RabbitMQ.password}"/> </bean> <bean id="LoginSenderBean" class="con.yyc.rabbitMQ.LoginSenderProcessor"> <property name="camelcontext" ref="camel-ssoweb"/> </bean> <camelContext id="camel-ssoweb" xmlns="http://camel.apache.org/schema/blueprint" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://camel.apache.org/schema/blueprint http://camel.apache.org/schema/blueprint/camel-blueprint.xsd"> <endpoint id="rabbitMQ" uri="rabbitmq://{{RabbitMQ.host}}:{{RabbitMQ.port}}/{{exchang_name}}?queue={{queue_name}}&connectionFactory=#customConnectionFactory&durable=true&autoDelete=false"/> <route> <from uri="vm:_LoginSender" /> <to ref="rabbitMQ" /> </route> </camelContext> </blueprint>
2.LoginSendProcessor.java
package com.yyc.rabbimq;import org.apache.camel.CamelContext;import org.apache.camel.EndpointInject;import org.apache.camel.Exchange;import org.apache.camel.ExchangePattern;import org.apache.camel.ProducerTemplate;import org.slf4j.LoggerFactory;public class LoginSenderProcessor { private static final org.slf4j.Logger log = LoggerFactory.getLogger(LoginSenderProcessor.class); private CamelContext camelcontext; public void setCamelcontext(CamelContext camelcontext) { this.camelcontext = camelcontext; } @EndpointInject(uri = "vm:_LoginSender") private ProducerTemplate producer; @Override public void invoke(String message) { try { Exchange exchg = camelcontext.getEndpoint("vm:_LoginSender").createExchange(); exchg.setPattern(ExchangePattern.InOut); exchg.getIn().setHeader(Exchange.CONTENT_TYPE, "application/x-www-form-urlencoded;charset=UTF-8"); exchg.getIn().setBody(message); producer.send(exchg); } catch (Exception e) { log.info("LoginSenderProcessor---invoke:" + e); } }}
0 0
- osgi7——camel发送rabbitmq
- Camel 和rabbitmq 集成处理
- osgi8——camel activitimq
- RabbitMQ第一篇——初识RabbitMQ,简单的消息发送和接收
- ActiveMQ与RabbitMQ使用camel集成
- osgi3——camel配置restlet
- osgi5——camel整合activiti
- osgi6——camel配置学习
- osgi9——camel动态路由
- RabbitMQ系列—RabbitMQ介绍
- RabbitMQ系列—RabbitMQ 安装
- Camel
- Camel
- Camel
- Java——定时请求后端接口数据发送RabbitMQ消息队列到指定MQ服务器
- rabbitmq 发送方确认模式来确认投递——基于pika 0.10.0
- Kafka、RabbitMQ、RocketMQ消息中间件的对比 —— 消息发送性能
- openstack——RabbitMQ 的oslo.messaging 和 Cinder 中 MessageQueue 消息的发送和接收
- 基于Spring可扩展Schema提供自定义配置支持(spring配置文件中 配置标签支持)
- linux文件压缩命令
- 第一份软件测试实习(1)
- andriod安卓新闻类app页面数据图片缓存
- 黑马程序员-[C语言]学习日记(一)
- osgi7——camel发送rabbitmq
- 使用jquery easyui 对表格中的时间格式化
- Hadoop文件系统元数据fsimage和编辑日志edits
- Java 堆排序
- HDU 5407 CRB and Candies(LCM +最大素因子求逆元)
- IOS常用第三方库
- 富有动感的 Sheet(选择器)
- 数据迁移工具kettle简单上手
- Parallels Desktop 11 for Mac 发布啦!