当前位置: 首页 > news >正文

家教网站建设模板/软文代写服务

家教网站建设模板,软文代写服务,房地产网站案例,re安装wordpressJMS全称:Java Message Service中文:Java消息服务。JMS是java的一套API标准,最初的目的是为了是应用程序能够访问现有的MOM系统(MOM是Message Oriented Middleware英文的缩写,指的是利用高效可靠的消息传递机制进行平台无关的数据交…

0f01a47ebb6231802bf190c57c85906d.gif

JMS全称:Java Message Service中文:Java消息服务。JMS是java的一套API标准,最初的目的是为了是应用程序能够访问现有的MOM系统(MOM是Message Oriented Middleware英文的缩写,指的是利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。) 后来被许多现有的MOM供应商采用,并实现为MOM系统。【常见的MOM系统包括Apache的ActiveMQ、阿里巴巴的RocketMQ、IBM的MQSeries、Microsoft的MSMQ、BEA的RabbitMQ等。(并非全部的MOM系统都遵循JMS规范)】注意:JMS是一个标准名称,MOM是一套系统名称,这套系统指的就是上面所说的利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成;而随后各大企业研发了属于自己的MOM系统,并重新命名,例如Apache研发的ActiveMQ,阿里巴巴的RoketMQ等。

“消息”是在两台计算机间传送的数据单位。消息可以非常简单,例如只包含文本字符串;也可以更复杂,包含嵌入对象。消息被发送到队列中。“消息队列”是在消息的传输过程中保存消息的容器,消息队列管理器在将消息从它的源中继到它的目标时充当中间人。队列的主要目的是提供路由并保证消息的传递;如果发送消息时接受者不可用,消息队列会保留消息,直到成功地传递给消息处理者(接收人)。

消息队列的主要特点是异步处理,主要目的是减少请求响应的时间和解耦。所以主要的使用场景就是将比较耗时而且不需要即时“同步”返回结果的操作作为消息然后将该消息放入“消息队列”。同时由于使用了消息队列,只要保证消息格式不变,消息的发送方和接收方并不需要彼此联系,也不需要受对方的影响,即解耦合。如:跨系统的异步通信,所有需要异步交互的地方都可以使用消息队列。就像我们除了打电话(同步)以外,还需要发短信,发电子邮件(异步)的通讯方式。多个应用之间的耦合,由于消息是平台无关和语言无关的,而且语义上也不再是函数调用,因此更适合作为多个应用之间的松耦合的接口,基于消息队列的耦合,不需要发送方和接收方同时在线。

在企业应用集成(EAI)中,文件传输,共享数据库,消息队列,远程过程调用都可以作为集成的方法。应用内的同步变异步,比如订单处理,就可以由前端应用将订单信息放到队列,后端应用从队列里依次获得消息处理,高峰期时的大量订单可以积压在队列中慢慢被处理掉。由于同步通常以为着阻塞,而大量线程的阻塞会降低计算机的处理能力。

消息驱动和架构(EDA),系统分解为消息队列,和消息制造者以及消息消费者,一个处理流程可以根据需要拆成多个阶段(Stage),阶段之间用队列连接起来,前一个阶段处理的结果放入队列,后一个阶段从队列中获取消息继续处理。应用需要更灵活的耦合方式,如发布订阅,比如可以指定路由规划。跨局域网,甚至跨城市的通讯,比如北京机房与广州机房的应用程序通信。

ActiveMQ的特性

1.多种语言和协议编写的客户端。语言:Java,C,C++,C#,Ruby,Perl,Python,PHP。应用协议:Openwire,Stomp REST,WS Notification,XMPP,AMQP。2.对Spring的支持。ActiveMQ可以很容易内嵌到使用Spring的系统里面去通过了常见J2EE服务器(如 Geronimo,JBoss 4,GlassFish,WebLogic)的测试,其中通过JCA 1.5 resource adaptors的配置,可以让ActiveMQ可以自动的部署到任何兼容J2EE 1.4 商业服务器上3.支持多种传输协议。in-VM,TCP,SSl,NIO,UDP,JGroups,JXTA,支持通过JDBC和journal提供高速的消息持久化4.从设计上保证了高性能的集群。客户端-服务器,点对点5.支持Ajax6.支持Axis的整合,WebServices7.可以很容易的调用内嵌JMS provider,进行测试

ActiveMQ的应用场景

1.多个项目之间集成 (1)跨平台 (2)多语言 (3)多项目2.降低系统间模块的耦合度,解耦 (1)软件扩展性3.系统前后端隔离 (1)前后端隔离,屏蔽高安全区

ActiveMQ名词简介

Destination 目的地,JMS Provider(消息中间件)负责维护,用于对Message进行管理的对象。MessageProducer需要指定Destnation才能发送消息,MessageConsumer需要指定Destination才能接收消息。

Producer 消息生成者(客户端、负责生成消息),负责发送Message到目的地。应用接口为MessageProducer。在JMS规范中,所有的标准定义都在javax.jms包中。*

Consumer【Receiver】 消息消费者(负责处理消息),负载从目的地中消费【处理|监听|订阅】Message。应用接口为MessageConsumer。

Message 消息(Message),消息封装一次通信的内容。常见类型有:StreamMessage(流信息)、BytesMessage(字节信息)、TextMessage(文本信息)、ObjectMessage(对象信息)、MapMessage(图信息)。

ConnectionFactory 连接工厂,用于创建链接的工厂类型。注意,不能和JDBC中的ConnectionFactory混淆。

Connection 链接,用于建立访问ActiveMQ连接的类型,由链接工厂创建,注意,不能和JDBC中的Connection混淆。

Session 会话,一次持久有效有状态的访问,由链接创建,是具体操作信息的基础支撑。

Queue & Topic Queue是队列目的地,Topic是主题目的地。都是Destnation的子接口。(1)Queue特点:队列中的消息,默认只能由唯一的一个消费者处理。一旦被消息消费者消费,存储在消息队列中的信息立刻被删除。(2)Topic特点:主题中的消息,会发送给所有的消费者同时处理。只有在消息可以重复处理的业务中场景中可使用。

PTP Point to Point。点对点消息模型。就是基于Queue实现的消息处理方式。

PUB & SUB Publish & Subscribe。消息的发布/订阅模型。是基于Topic实现的消息处理方式。

PTP处理模式(Queue)

1.消息生产者生产消息发送到queue中,然后消息消费者从Queue中取出并且消费信息。2.消息被消费以后,Queue中不在有存储,所有消息消费者不可能消费到已经被消费的信息。3.Queue支持存在多个消费者,但是对一个消息而言,只会有一个消费者可以消息,其它的则不能消费此信息了。4.当消费者不存在时,消息会一直保存,直到有消费消费。

542318741884e600a34d9532e87c5e1d.png

Publish/Subscribe处理模式

1.消息生产者(发布)将消息发布到topic中,同时有多个消息消费者(订阅)消费该信息。2.和点对点方式不同,发布到topic的消息会被所有订阅者消费。3.当生产者发布消息,不管是否有消费者。都不会报错信息 4.一定要先有消息的消费者,后有消息的生产者

fcbcb65b67406850fe35ffef64c16297.png

PTP和PUB/SUB简单对比

1fb13b8656bc3c7bb1251ca93ec160a3.png

下载资源

ActiveMQ下载页面:http://activemq.apache.org/download.htmlJDK下载页面:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
注意:版本说明ActiveMQ5.10.x以上版本必须使用JDK1.8才能正常使用。ActiveMQ5.9.x及以下版本使用JDK1.7即可正常使用。

上传服务器

在此我们使用JDK版本:jdk-8u191-linux-x64.tar.gz在此我们使用的ActiveMQ版本:apache-activemq-5.15.6-bin.tar.gz

解压安装

[root@CentOS src]# tar xf jdk-8u191-linux-x64.tar.gz [root@CentOS src]# tar xf apache-activemq-5.15.6-bin.tar.gz [root@CentOS src]# mv jdk1.8.0_191 /usr/local/java[root@CentOS src]# mv  apache-activemq-5.15.6 /usr/local/activemq[root@CentOS src]# tail -1 /etc/profileexport PATH=/usr/local/java/bin:$PATH[root@CentOS src]# source /etc/profile[root@CentOS src]# java -versionjava version "1.8.0_191"Java(TM) SE Runtime Environment (build 1.8.0_191-b12)Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)

activemq文件简介

[root@CentOS /]# ls /usr/local/activemq/activemq-all-5.15.6.jar  conf  docs      lib      NOTICE      tmp      webapps-demo bin   data  examples  LICENSE  README.txt  webapps
activemq-all-5.15.6.jar:Java开发客户端的jar包webapps:activemq提供了一个网页管理的控制台,http://127.0.0.1:8161/admin可以访问到,可以放置web的程序目录webapps-demo:activemq提供了一些基础案lib:是activemq依赖的jar包文件examples:apache提供了一个案例代码docs:帮助文档data:activemq默认用来存储数据的位置conf:配置文件bin:二进制文件,用来启动、关闭、重启activemq的控制文件

配置文件简介

[root@CentOS /]# ls /usr/local/activemq/conf/        activemq.xml           client.ks                   groups.properties       jmx.access          login.config        broker.ks              client.ts                   java.security           jmx.password        users.properties        broker-localhost.cert  credentials-enc.properties  jetty-realm.properties  log4j.properties        broker.ts              credentials.properties      jetty.xml               logging.properties

activemq.xml: activemq的主配置文件,就是spring配置文件. 其中配置的是ActiveMQ应用使用的默认对象组件.transportConnectors标签,配置链接端口信息的。其中的端口号61616是ActiveMQ对外发布的tcp协议访问端口. 就是java代码访问ActiveMQ时使用的端口

jetty.xml: spring配置文件, 用于配置jetty服务器的默认对象组,件jetty是类似tomcat的一个中间件容器。ActiveMQ默认支持一个网页版的服务查看站点. 可以实现ActiveMQ中消息相关数据的页面查看.8161端口, 是ActiveMQ网页版管理站点的默认端口。在ActiveMQ网页版管理站点中,需要登录, 默认的用户名和密码都是admin。

users.properties: 是用于配置客户端通过协议访问ActiveMQ时,使用的用户名和密码。格式为:用户名=密码

groups.properties: 是用于配置客户端通过协议访问ActiveMQ时,使用的组名和用户名。格式为:组名=用户名

jetty-realm.properties: 为jetty.xml网页控制台所用到配置文件 该文件内关联了登录web网页控制台的用户名密码

启动ActiveMQ

[root@CentOS /]# /usr/local/activemq/bin/activemq start INFO: Loading '/usr/local/activemq//bin/env'INFO: Using java '/usr/local/java/bin/java'INFO: Starting - inspect logfiles specified in logging.properties and log4j.properties to get detailsINFO: pidfile created : '/usr/local/activemq//data/activemq.pid' (pid '3637')注意:ActiveMQ启动需要拉起jetty中间件,该中间件启动较慢,请耐心等待......启动好了之后,会出现以下端口,里面的8161为web页面所提供默认的web访问端口,如需修改请修改jetty.xml文件[root@CentOS /]# ss -anplt | grep javaLISTEN     0      50          :::8161                    :::*                   users:(("java",pid=3637,fd=141))LISTEN     0      50          :::37253                   :::*                   users:(("java",pid=3637,fd=13))LISTEN     0      128         :::5672                    :::*                   users:(("java",pid=3637,fd=131))LISTEN     0      128         :::61613                   :::*                   users:(("java",pid=3637,fd=132))LISTEN     0      50          :::61614                   :::*                   users:(("java",pid=3637,fd=134))LISTEN     0      128         :::61616                   :::*                   users:(("java",pid=3637,fd=126))LISTEN     0      128         :::1883                    :::*                   users:(("java",pid=3637,fd=133))

测试访问jetty所提供的web控制台

•控制台地址:http://IP:8161/admin•默认用户名和密码都为admin

9bee067653bde58872bd536445a4ef7a.png
bda40280237aeac014da2fbcea12f40a.png

1.ActiveMQ网页状态栏内容介绍2.Home:主页面,有欢迎界面,broker标签介绍,一些基础信息3.Queues:队列的详细信息,包含了待处理消息数量、消费者数量、消息队列、已消费信息等4.Topics:主题的详细信息,包含了消费者数量、消息队列和Queues差不多5.Subscribers:订阅者,专门用于检查发布/订阅的端口6.connections:连接,查看ActiveMQ所有支持的协议的连接数量等信息7.Network:网络,有关于远程网络的标签,远程网络地址等信息8.Scheduled:调动程序,可以理解为定时任务9.Send:发送,测试发送消息的功能,里面包含了模拟发送消息的目的地、相关ID、回复、类型、消息组、延迟时间(毫秒)、重复次数、要发送的消息数量等等

测试Web页面Send功能

549b37b739dc6ca353c019ce16ef1dbd.png

发送过之后会自动跳到Queue或者Topic,取决于你发送的消息类型,更多功能请自行测试

0fb442b96e7cc81664793973e740d0ed.png
fe690a7b113b5ec79bd01d94bc8b43d5.png

29fd3dd2e1bfc004260d1eab744b09bd.png

http://www.lbrq.cn/news/938413.html

相关文章:

  • 莱州人社局网站/杭州疫情最新情况
  • 网站文章结构变更怎么做301/成都网站建设系统
  • 网站建设 交易保障/二十个优化
  • win8风格网站css/最好的网络推广方式
  • 品牌注册类别/seo推广主要做什么的
  • 有没有免费做网站的/百度注册网站怎么弄
  • 做58网站空调维修接单怎么样/建网站教程
  • 塘沽网站优化/站长工具网站测速
  • 2019年做网站还有前景吗/班级优化大师怎么用
  • 李静做的化妆品网站/网页优化方案
  • 宠王爷斗皇子我家王妃帅爆了/网站搜索优化价格
  • 上海松江做网站的公司/企业推广平台有哪些
  • 家用电脑和宽带做网站/torrentkitty磁力天堂
  • 洛阳市住房建设委员会网站/网络市场调研的方法
  • 免费html5网站源码/合肥网络营销公司
  • 网站建设用几级域名合适/广告推广计划
  • 用dw做网站的空格怎么打/seo产品推广
  • 大连网站建设优化/全网关键词云在哪里看
  • 如何提升网站的收录量/营销型网站建设解决方案
  • 北京 响应式网站建设/市场调研报告500字
  • wordpress keywords插件/专业seo培训
  • 无锡网站建设开发/软文写作平台发稿
  • 软件著作权转让/seo外贸推广
  • 一家专门做灯的网站/新闻头条今天最新消息
  • 用axure做网站原型的尺寸/免费seo教程资源
  • b站视频推广的方法有哪些/西安网络公司
  • 十里堡网站建设/系统优化软件
  • 做网站的一个月能赚多少钱/重庆百度快照优化排名
  • wordpress电影网站主题/线上商城推广软文
  • 罗湖网站建设深圳信科/宣城网站seo
  • 个人笔记HTML5
  • 《C++ list 完全指南:list的模拟实现》
  • 论文阅读-IGEV
  • 机器学习特征选择 explanation and illustration of ANOVA
  • 网络编程2(应用层协议,传输层协议)
  • 尝试几道算法题,提升python编程思维