什么是jms?jms定定义了哪些不同的消息正文格式
在不同系统之间交换信息的一大障碍是如何在精确交换和格式化数据方面取得一致。Java Message Service( Java消息服务,简称JMS)通过提供一种与J2EE应用程序或传统系统交互的方法部分的解决了这个问题。JMS的通用接口集合以异步方式发送或接收消息。异步方式接收消息显然是使用间断网络连接的客户机,诸如移动电话和PDA的最好的选择。另外, JMS采用一种宽松结合方式整合企业系统的方法,其主要的目的就是创建能够使用跨平台数据信息的、可移植的企业级应用程序,而把开发人力解放出来。Java消息服务支持两种消息模型:Point-to-Point消息 (P2P)和发布订阅消息(Publish Subscribe messaging,简称Pub/Sub)。JMS规范并不要求供应商同时支持这两种消息模型,但开发者应该熟悉这两种消息模型的优势与缺点。P2P消息模型是在点对点之间传递消息时使用。如果应用程序开发者希望每一条消息都能够被处理,那么应该使用P2P消息模型。与Pub/Sub消息模型不同,P2P消息总是能够被传送到指定的位置。Pub/Sub模型在一到多的消息广播时使用。如果一定程度的消息传递的不可靠性可以被接受的话,那么应用程序开发者也可以使用Pub/Sub消息模型。换句话说,它适用于所有的消息消费程序并不要求能够收到所有的信息或者消息消费程序并不想接收到任何消息的情况。JMS通过允许创建持久订阅来简化时间相关性,即使消息预订者未激活也可以接收到消息。此外,使用持久订阅还可通过队列提供灵活性和可靠性,而仍然允许消息被发给许多的接收者。 Topic Subscriber topic Subscriber = topicSession.createDurableSubscriber(topic, subscriptionName); Connection对象表示了到两种消息模型中的任一种的消息系统的连接。服务器端和客户机端对象要求管理创建的JMS连接的状态。连接是由 Connection Factory创建的并且通过JNDI查寻定位。 //取得用于 P2P的 QueueConnectionFactory QueueConnectionFactory = queueConnectionFactory( ); Context messaging = new InitialContext( ); QueueConnectionFactory = (QueueConnectionFactory) Messaging.lookup(“QueueConnectionFactory”); //取得用于 pub/sub的 TopicConnectionFactory TopicConnectonFactory topicConnectionFactory; Context messaging = new InitialContext(); topicConnectionFactory = (TopicConnectionFactory) messaging.lookup(“TopicConnectionFactory”); 注意:用于P2P的代码和用于PublishSubscribe的代码非常相似。如果session被标记为transactional的话,确认消息就通过确认和校正来自动地处理。如果session没有标记为 transactional,你有三个用于消息确认的选项。・ AUTO_ACKNOWLEDGE session将自动地确认收到一则消息。・ CLIENT_ACKNOWLEDGE 客户端程序将确认收到一则消息,调用这则消息的确认方法。 ・ DUPS_OK_ACKNOWLEDGE 这个选项命令session“懒散的”确认消息传递,可以想到,这将导致消息提供者传递的一些复制消息可能会出错。这种确认的方式只应当用于消息消费程序可以容忍潜在的副本消息存在的情况。 queueSession = queueConnection.createQueueSession(false, session.AUTO_ACKNOWLEDGE);//P2P topicSession = topicConnection.createTopicSession(false, session.AUTO_ACKNOWLEDGE); //Pub-Sub注意:在本例中,一个session目的从连结中创建,非值指出session是non-transactional的,并且 session将自动地确认收到一则消息。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定义了五种不同的消息正文格式,以及调用的消息类型,允许你发送并接收以一些不同形式的数据,提供现有消息格式的一些级别的兼容性。・ StreamMessage ― Java原始值的数据流・ MapMessage
JMS即Java消息服务(Java Message Service)应用程序接口是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持。 JMS是一种与厂商无关的 API,用来访问消息收发系统消息。它类似于JDBC(Java Database Connectivity):这里,JDBC 是可以用来访问许多不同关系数据库的 API,而 JMS 则提供同样与厂商无关的访问方法,以访问消息收发服务。许多厂商都支持 JMS,包括 IBM 的 MQSeries、BEA的 Weblogic JMS service和 Progress 的 SonicMQ,这只是几个例子。 JMS 使您能够通过消息收发服务(有时称为消息中介程序或路由器)从一个 JMS 客户机向另一个 JMS客户机发送消息。消息是 JMS 中的一种类型对象,由两部分组成:报头和消息主体。报头由路由信息以及有关该消息的元数据组成。消息主体则携带着应用程序的数据或有效负载。根据有效负载的类型来划分,可以将消息分为几种类型,它们分别携带:简单文本(TextMessage)、可序列化的对象 (ObjectMessage)、属性集合 (MapMessage)、字节流 (BytesMessage)、原始值流 (StreamMessage),还有无有效负载的消息 (Message)。
文章标签:
来自:jms是什么意思
本文链接:https://www.u1e.cn/baike/a/9d925bff45d7b20cc4904c9c [复制]
猜你喜欢
你们给我挺住,都别吃,都那么肥了怎么还有脸吃。
如果不醒来,那么现实和梦境又有何分别。
天塌下来你顶着,我垫着!
最美的不是下雨天,是陪你一起躲过的屋檐。
南音少女
如果坚强的人落泪了,一定是撑不下去了。
您是一棵大树,春天倚着您幻想,夏天倚着你繁茂,秋天倚着您成熟,冬天倚着您沉思。亲爱的妈妈,感谢给予我的一切。
暗恋你,追你,我的本子满满写着你的名字。
得意时处之泰然,失意时处之淡然,才是人生的大智慧。
不必因昨天的眼泪、湿了今天的太阳。
你自由了,可不可以把我的快乐还我。
疾病是手段,健康是目的;疾病是道路,健康是目标。
恋爱不是谈的,是坠入的。有一天,在没有察觉到的时候,头朝下坠下去。早安!
无论平静还是灿烂,我都喜欢。
恍忽间明白:春光明媚的春天之所以如此的美,是因为它让人的心情在此刻绽放。
别总拿自己的饱经风霜的脸说事,美的不突出,丑的不别致。
明白的人懂得放弃,真情的人懂得牺牲,幸福的人懂得超脱。
新年到,愿亲爱的母亲生活甜甜蜜蜜,心情快快乐乐,身体健健康康,一生平平安安,幸福时刻围绕,好运永远陪伴,儿女的心永远牵挂着你。
想再一次见到安好的模样,只为确定你尘埃落定的幸福,从此,天涯陌路,后会无期。过去的事,就不要再过多的计较了,每个人都有每个人的不幸。不过,不幸也是一种人生的风景。热爱生活的人,是不会抱怨不幸的;只会感
一个狼群就是一支训练有素,纪律严明的部队,统一行动,绝对服从,协同作战,这就是狼的纪律。
歇后语大全
做梦娶媳妇是什么意思?
坐飞机讲哲学是什么意思?
珠穆朗玛峰上听鸡叫是什么意思?
正月初一捧元宵是什么意思?
硬拿乌龟当神供是什么意思?
阎王殿里卖狗皮膏药是什么意思?
小姑娘逗娃娃是什么意思?
吸烟烧枕头是什么意思?
屋里翻跟头是什么意思?
乌鸦一字飞是什么意思?
娃娃拾花炮是什么意思?
挑石头登泰山是什么意思?
天上架桥是什么意思?
桃子掉地上是什么意思?
唐僧和尚念佛经是什么意思?
四方木头是什么意思?
水中的鳄鱼,山上的虎豹是什么意思?
瘦牛想吃高山草是什么意思?
绳子拴石头是什么意思?
扇子驱大雾是什么意思?
三个半人抓螃蟹是什么意思?
蚯蚓戴帽子是什么意思?
晴天下雹子是什么意思?
起重机吊鸡毛是什么意思?
屁股上吊棒槌是什么意思?
皮裤套棉裤是什么意思?
潘金莲偷汉子是什么意思?
麻黄汤发汗是什么意思?
米筛挡房门是什么意思?
米满粮仓人饿倒是什么意思?
茅草秆打狗是什么意思?
卤煮寒鸭子是什么意思?
老鼠进洞是什么意思?
拉着耳朵擤(xinq)鼻涕是什么意思?
看人上菜是什么意思?
鸡屎蚊子打哈欠是什么意思?
画笔敲鼓是什么意思?
黄鼠狼看鸡是什么意思?
黄鼠狼串门子是什么意思?
冬天卖扇子是什么意思?
冬瓜皮做甑子(zeng zi蒸米饭等的用具)是什么意思?
大炮筒子是什么意思?
大口碗配个小盖子是什么意思?
打猎放羊是什么意思?
搭房子封屋顶是什么意思?
冲着和尚骂秃子是什么意思?
柴油机抽水是什么意思?
财神爷招手是什么意思?
雹打的高梁秆是什么意思?
霸王别姬是什么意思?
相关推荐
还没有人回应过