JMS及ActiveMQ介绍与部署应用.pptx

上传人:tia****nde 文档编号:11496840 上传时间:2020-04-25 格式:PPTX 页数:33 大小:1.13MB
返回 下载 相关 举报
JMS及ActiveMQ介绍与部署应用.pptx_第1页
第1页 / 共33页
JMS及ActiveMQ介绍与部署应用.pptx_第2页
第2页 / 共33页
JMS及ActiveMQ介绍与部署应用.pptx_第3页
第3页 / 共33页
点击查看更多>>
资源描述
JMS及ActiveMQ介绍与部署应用,作者:王磊2016/3/30,文档结构,JMS简单介绍ActiveMQ介绍ActiveMQ安装与部署ActiveMQ开发DEMO结束语,JMS定义,JMS英文全称为JavaMessageService,翻译为Java消息服务。是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。随着技术的发展,JMS实现厂商已经逐步支持各种类型语言的客户端访问消息服务,使JMS具有更广阔的应用前景。,JMS特点,跨语言、跨平台、跨应用高性能(每秒数据吞吐量GB级)实时性好(发送消息的速度快)异步(解耦,高可靠性)支持集群(部分厂商实现,master-slaver、brokercluster等模式),JMS应用典型场景,消耗时间和资源较多的请求,比如电商网站的下单请求,使用JMS消息队列,异步处理订单。异构平台之间通讯,比如C#与j2ee应用间的通讯。多应用系统间的集成、数据传递,比如电网运行系统中各应用间数据传递。,JMS体系架构,提供者:连接面向消息中间件的,JMS接口的一个实现。客户:生产或消费基于消息的Java的应用程序或对象。生产者:创建并发送消息的JMS客户。消费者:接收消息的JMS客户。消息:包括可以在JMS客户之间传递的数据的对象。队列:一个容纳那些被发送的等待阅读的消息的区域。主题:一种支持发送消息给多个订阅者的机制。,JMS对象模型,连接工厂(ConnectionFactory)连接(Connection)会话(Session)目的(Destination:Queue、Topic)生产者(MessageProducer)消费者(MessageConsumer),JMS消息模型,点对点(Point-to-Point)。在点对点的消息系统中,消息分发给一个单独的使用者。点对点消息往往与队列(javax.jms.Queue)相关联。发布/订阅(Publish/Subscribe)。发布/订阅消息系统支持一个事件驱动模型,消息生产者和消费者都参与消息的传递。生产者发布事件,而使用者订阅感兴趣的事件,并使用事件。该类型消息一般与特定的主题(javax.jms.Topic)关联。,JMS消息存储方式,NON_PERSISTENT:禁止固化消息,仅将消息放到内存中,适合消息量较少、可靠性要求不高的系统。PERSISTENT:固化消息,将消息以文件或者数据库的方式进行固化,可有效提高可靠性,但会降低性能。,JMS消息格式,StreamMessage:Java原始值的数据流MapMessage:键-值对TextMessage:字符串对象(最常用)ObjectMessage:序列化的Java对象BytesMessage:字节流,JMS消息实体,消息头(必须):包含用于识别和为消息寻找路由的操作设置。消息属性(可选):包含额外的属性,支持其他提供者和用户的兼容。消息体(可选):消息具体内容。,JMS提供者实现,ActiveMQ:apache出品,开源,目前最流行,不支持超大规模。RabbitMQ:mozilla出品,开源,不支持事务,erlang语言开发。RocketMQ:阿里巴巴出品,部分开源,该公司内部大量使用,集群50台,日消息量百亿级。SonicMQ:progress出品,商业,部分国内网站使用。ZeroMQ:C语言开发,效率极高,但不成熟,开源。,ActiveMQ定义,MQ即MessageQueue。Apache出品,最流行的,能力强劲的开源消息总线,是一个完全支持JMS1.1和J2EE1.4规范的JMSProvider实现已经在很多公司得到应用,社区成熟,学习文档多。,ActiveMQ特性,支持多语言和多协议完全支持持久化、事务支持内嵌至Spring支持部署至JBoss、WebLogic等服务器上支持集群友好管理界面,测试方便,ActiveMQ下载与安装,1、到官网下载对应操作系统的压缩包,ActiveMQ下载与安装,2、将压缩包解压。Windows使用好压、360压缩、winrar等软件;Linux使用tar、unzip等指令,ActiveMQ下载与安装,3、运行主目录下bin/activemq.bat(windows),bin/activemq(linux)来启动服务。,ActiveMQ部署,Linux下注册服务并使其开机启动:1、在activemq脚本中增加下图中白底两行注释2、ln-snf./bin/activemq/etc/init.d/activemq3、chkconfig-addactivemq4、chkconfigactivemqon,ActiveMQ开发DEMO,配置服务端链接类型、ip、端口,修改./conf/activemq.xml文件中的transportConnectors节点:支持tcp,udp,nio,ssl,http,https,vm等多种协议。统一语法:,ActiveMQ开发DEMO,配置链接用户名密码,为./conf/activemq.xml文件中节点增加如下节点:,ActiveMQ开发DEMO,配置服务端管理员密码,修改./conf/jetty-realm.properties文件:将权限检查设为true,修改./conf/jetty.xml文件中的如下节点:,ActiveMQ开发DEMO,输入网址http:/ip:8161/admin弹出输入框,输入刚才配置文件中admin的密码进行登录:登录成功页面如下:,ActiveMQ开发DEMO,客户端编程通用步骤:,ActiveMQ开发DEMO,客户端配置maven依赖:,ActiveMQ开发DEMO,客户端整合进Spring,引入schema:创建ConnectionFactory或者PooledConnectionFactory(线程安全):创建Connection(线程安全):,ActiveMQ开发DEMO,创建消息发送者模板(线程安全,竞争session):pubSubDomain属性改为true即为topic类型消息,ActiveMQ开发DEMO,将模板注入:在代码中执行发送:可发送任意类型的消息,推荐发送Text类型。上面代码中的”LoanUpdate”即为消息目的地标识,拥有同样标识的消息接收客户端可以接收该消息。,ActiveMQ开发DEMO,配置消息接收监听(异步方式):执行监听的类(实现MessageListener接口):,ActiveMQ开发DEMO,服务端最小maven依赖如果需要数据库固化,需要引入activemq-kahadb-store等拓展包,ActiveMQ开发DEMO,将服务内嵌至Spring,随jvm启动,ActiveMQ开发DEMO,内嵌认证配置,结束语,消息中间件在企业级应用中扮演着不可或缺的角色,可以提供数据传输的可靠性和高效性,解决分布式的系统数据传输需求和松耦合整合。JMS作为java版本的消息服务中间件,随着java语言在企业应用中的强势而得到茁壮发展。作为java程序员,亦应随时做好迎战准备。,谢谢,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!