「java消息服务」java消息服务开发
今天给各位分享java消息服务的知识,其中也会对java消息服务开发进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
ActiveMQ基础教程(一)JMS概述
JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持。可以简单的理解为:两个应用程序之间需要进行通信,我们使用一个JMS服务,进行中间的转发,通过JMS 的使用,我们可以解除两个程序之间的耦合。
点对点模型用于消息生产者和消息消费者之间点到点的通信。消息生产者将消息发送到由某个特定名字标示的消息队列(Queue)中,消息消费者从这个特定队列中获取对应消息。在消息传送给消费者之前它被存储在这个队列中。队列可以是持久的,以保证在消息服务出现故障时仍然能够传递消息。
在点对点消息传送模型中,应用程序由消息队列(Queue),发送者(Sender),接收者(Receiver)组成。每一个消息发送给一个特殊的消息队列,该队列保存了所有发送给它的消息(除了被接收者消费掉的和过期的消息)。
在发布/订阅消息模型中,发布者发布一个消息,该消息通过主题(Topic)传递给所有的客户端。在这种模型中,发布者和订阅者彼此不知道对方,是匿名的且可以动态发布和订阅主题(Topic)。主题(Topic)主要用于保存和传递消息,且会一直保存消息直到消息被传递给客户端。
在发布与订阅消息传送模型中,应用程序由主题(Topic),发布者(Publisher),订阅者(Subscriber)组成。客户端将消息发送到主题。多个发布者将消息发送到Topic,系统将这些消息传递给多个订阅者。
在JMS中,消息的产生和消息是异步的。对于消费来说,JMS的消息者可以通过两种方式来消费消息。
JMS API是在javax.jms包中定义的。
要使用JMS API 需要创建一个提供连接对象的连接工厂。连接对象提供与消息服务器的链接。链接被用来创建会话,会话被用来创建消息,消息通过消息的生产者发送到目标(队列或主题),然后消息传递到消息消费者。
整理文章主要为了自己日后复习用,文章中可能会引用到别的博主的文章,如涉及到博主的版权问题,请博主联系我。
java消息通知怎么做
java消息通知有两种方案:
1.如果是平台级别的系统,可使用第三方消息推送服务,例如极光,用这个来做消息订阅与分发。
2.如果只是简简单单的需要提示到web页面,可以用js 定时ajax访问后台,后台来确定是否有数据更新,无论这个数据是哪来的。
消息通知可以了解一下极光推送
Java Web 服务器的消息推送 几种方案
Java Web 服务器的消息推送有以下几种方案:
1. 轮询:前端使用ajax不停的发起请求获取想要的数据(最简单也是最容易耗尽服务器资源)。
2. 长连接:HTTP长连接,客户端向服务端发起请求,服务端等有数据了才response,否则一直持有该连接Cometgithub: comet4j 项目,可以直接下载配置jar到tomcat下使用。
3、使用xmpp协议的一种技术,能够做到js中调用服务器的Java方法。
消息推送建议用专业的推送平台,例如:极光。深圳市和讯华谷信息技术有限公司创立于2011年,其团队核心成员来自腾讯、摩根士丹利、豆瓣、Teradata和中国移动等公司。公司总部位于深圳,在北京、上海、广州、成都均设有办公室。
Java消息服务的传递消息方式
JMS 有两种传递消息的方式。标记为 NON_PERSISTENT 的消息最多投递一次,而标记为 PERSISTENT 的消息将使用暂存后再转送的机理投递。如果一个 JMS 服务离线,那么持久性消息不会丢失,但是得等到这个服务恢复联机时才会被传递。所以默认的消息传递方式是非持久性的。即使使用非持久性消息可能降低内务和需要的存储器,并且这种传递方式只有当你不需要接收所有的消息时才使用。
虽然 JMS 规范并不需要 JMS 供应商实现消息的优先级路线,但是它需要递送加快的消息优先于普通级别的消息。JMS 定义了从 0 到 9 的优先级路线级别,0 是最低的优先级而 9 则是最高的。更特殊的是 0 到 4 是正常优先级的变化幅度,而 5 到 9 是加快的优先级的变化幅度。举例来说: topicPublisher.publish (message, DeliveryMode.PERSISTENT, 8, 10000); //Pub-Sub 或 queueSender.send(message, DeliveryMode.PERSISTENT, 8, 10000);//P2P 这个代码片断,有两种消息模型,映射递送方式是持久的,优先级为加快型,生存周期是10000 (以毫秒度量 )。如果生存周期设置为零,这则消息将永远不会过期。当消息需要时间限制否则将使其无效时,设置生存周期是有用的。
网上说的“JMS”具体是什么意思?
JMS是指Java消息服务,Java Message Service的简称。
Java 消息服务(Java Message Service,JMS)应用程序接口是一个Java 平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java 消息服务是一个与具体平台无关的 API,绝大多数 MOM 提供商都对 JMS 提供支持。
Java 消息服务的规范包括两种消息模式,点对点和发布者/订阅者。许多提供商支持这一通用框架因此,程序员可以在他们的分布式软件中实现面向消息的操作,这些操作将具有不同面向消息中间件产品的可移植性。
扩展资料
JMS的优势:
1、异步
JMS天生就是异步的,客户端获取消息的时候,不需要主动发送请求,消息会自动发送给可用的客户端。
2、可靠
JMS保证消息只会递送一次。大家都遇到过重复创建消息问题,而JMS能帮你避免该问题。
在JMS中,消息的接收可以使用以下两种方式:
同步:使用同步方式接收消息的话,消息订阅者调用receive()方法。在receive()中,消息未到达或在到达指定时间之前,方法会阻塞,直到消息可用。
异步:使用异步方式接收消息的话,消息订阅者需注册一个消息监听者,类似于事件监听器,只要消息到达,JMS服务提供者会通过调用监听器的onMessage()递送消息。
参考资料来源:百度百科-Java消息服务
关于java消息服务和java消息服务开发的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-27,除非注明,否则均为
原创文章,转载请注明出处。