设为首页 收藏本站
查看: 934|回复: 0

[经验分享] Apache-ActiveMQ transport XmlMessage

[复制链接]

尚未签到

发表于 2015-7-30 15:56:57 | 显示全部楼层 |阅读模式
前言
  本文原创,转载请说明出处!
  Apache-ActiveMQ:是Apache提供的一款开源的消息传送服务,不论是安装还是使用都非常简单实用,可以作为消息缓存管理器来使用(个人观点),看看ActiveMQ提供了什么。
  ActiveMQ提供两种消息传递方式:Queues(队列)和Topics(主题)。
  这两者的区别主要体现在获取消息端,Queues方式下消息只能被获取一次,也就是说多个消息获取端不会获得重复的信息。
  Topics方式相当于订阅,所有消息获取端都可以获得相同的消息。
  相比之下,Queues更适合做负载均衡,让多个消息获取端处理一组消息;Topic适合作为消息分发或者消息多用途时使用。
  ActiveMQ传递消息的种类包括:BytesMessage、ObjectMessage、TextMessage、XmlMessage,还有些不常用的MapMessagee、StreamMessage等。
  接下来看具体的用法。

一、配置Apache-ActiveMQ
  Apache-ActiveMQ的安装和配置还是比较简单的,先到官网下载Apache-ActiveMQ,本文使用的版本是5.5.1,据说比较稳定。
  另外到这里下载两个bin包,里面有对应的DLL,稍后会在项目中用到。
  下载好以后,如果没有安装过java SDK,把这个也安装一下,否则无法运行。配置环境变量可以参考Windows7 下环境变量设置
  以上步骤完成后,在目录\apache-activemq-5.5.1-bin\apache-activemq-5.5.1\bin下双击activemq.bat启动服务。
  Apache-ActiveMQ默认有一个监控网站页面http://127.0.0.1:8161/admin/,可以查看当前Apache-ActiveMQ的各项参数。
  如何配置Apache-ActiveMQ可以参考官方文档,Apache-ActiveMQ提供了丰富的配置,包括分发策略、数据恢复策略、负载均衡、持久化策略。
  大家有兴趣可以Google一下,很多写配置的文档,本篇博客重点不在配置,就不赘述了。

二、消息传递
  Apache-ActiveMQ把消息传递的过程分为2个部分,提供消息称为Producer(可以理解为制作消息方),接收消息称为Consumer(消息消费方)。
  Producter向Apache-ActiveMQ Topic(Queue)中添加消息,Consumer从Apache-ActiveMQ Topic(Queue)取出消息,看到其他人大多写TextMessage,此次示例是用XMLMessage作为消息对象,希望可以给需要用XML传递消息的读者提供一些帮助,下面用代码示例说明。
  新建一个Producer用来发送消息:


DSC0000.gif DSC0001.gif


class Program
{
static void Main(string[] args)
{
try
{
IConnectionFactory factory = new ConnectionFactory("tcp://localhost:61616/");
using (IConnection connection = factory.CreateConnection())
{
using (ISession session = connection.CreateSession())
{
IMessageProducer prod = session.CreateProducer(new Apache.NMS.ActiveMQ.Commands.ActiveMQTopic("Producer01"));
int i = 0;
while (i

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-92379-1-1.html 上篇帖子: windows下apache+wsgi+web.py环境搭建 下篇帖子: Apache Nutch 1.3 学习笔记六(ParseSegment)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表