麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

獲得消息:J2EE 1.4 中的消息

2019-11-18 13:52:48
字體:
供稿:網(wǎng)友

  獲得消息:J2EE 1.4 中的消息

隨著越來越多的應(yīng)用服務(wù)器符合 J2EE 規(guī)范,java 開發(fā)人員必須要考慮如何以及是否移植他們的 J2EE 1.3 兼容的代碼。在本文中,David Currie 對(duì) J2EE 規(guī)范中一個(gè)特定領(lǐng)域的改變進(jìn)行了分析:消息。您將明白哪些內(nèi)容需要改變、哪些可保持原樣,以及有哪些新的機(jī)會(huì)在等著您。
在本文中,我將概述支持 1.4 版 J2EE 規(guī)范引入的消息所需的改變。我將非凡分析 JMS 1.1 的需求以及使用時(shí)的新限制、與消息目標(biāo)有關(guān)的新概念、以及 EJB 規(guī)范 2.1 版本為消息驅(qū)動(dòng) bean 所帶來的顯著變化。這些內(nèi)容對(duì)于這些開發(fā)人員和治理人員非凡有用:他們熟悉 J2EE 1.3 中的消息、并且希望編寫新的應(yīng)用程序或者將現(xiàn)有消息應(yīng)用程序移植到兼容 J2EE 1.4 的應(yīng)用服務(wù)器上。

JMS 1.1
兼容 J2EE 的應(yīng)用服務(wù)器現(xiàn)在需要支持 1.1 版的 Java 消息服務(wù)(Java Message Server,JMS)規(guī)范,這也許是新版本 J2EE 規(guī)范中最明顯的改變。JMS 1.1 完全向后兼容 J2EE 1.3 規(guī)范所要求的 JMS 1.1,所以應(yīng)當(dāng)不需要改變現(xiàn)有的應(yīng)用程序。JMS 1.1 引入了統(tǒng)一消息域,在 Bobby Woolf 的 這篇文章 中對(duì)它做了具體的討論。值得強(qiáng)調(diào)的是,除非需要向后兼容性,否則沒有理由用老的隊(duì)列和主題接口編寫新的 JMS 應(yīng)用程序。新的應(yīng)用程序應(yīng)當(dāng)只使用新的統(tǒng)一接口,如清單 1 中的例子所示。

清單 1. 展示統(tǒng)一 JMS 接口的例子

InitialContext context = new InitialContext();
ConnectionFactory factory =
(ConnectionFactory) context.lookup("java:comp/env/jms/cf");
Destination source =
(Destination) context.lookup("java:comp/env/jms/source");
Connection connection = factory.createConnection();
connection.start();
session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
MessageConsumer consumer = session.createConsumer(source);
Message message = consumer.receive();
connection.close();



正如 Bobby 在他的文章中所說的,統(tǒng)一接口不僅簡(jiǎn)化了消息編程模型,它們還使應(yīng)用程序可以用一個(gè)事務(wù) Session 接收來自隊(duì)列的消息,并向主題發(fā)送消息(或者相反)。這意味著可以在同一個(gè)事務(wù)工作單元中進(jìn)行發(fā)送和接收,而無需借助于 bean 或者容器治理的事務(wù)。

J2EE 對(duì) JMS 使用的限制
像以前版本的 J2EE 規(guī)范一樣,1.4 版對(duì) JMS 的使用有一些限制。我將在本節(jié)分析這些限制。

限制的接口
盡管許多開發(fā)人員可能不知道,但是 J2EE 規(guī)范對(duì)于 J2EE 應(yīng)用程序如何使用 JMS API 總是有一些限制。例如,以下接口用于 JMS 提供者與應(yīng)用服務(wù)器之間的集成(它們是在 JMS 規(guī)范中描述的 application Server Facilities 的一部分),因而不能被應(yīng)用程序使用:

javax.jms.ServerSession
javax.jms.ServerSessionPool
javax.jms.ConnectionConsumer
All javax.jms.XA interfaces
限制的方法
對(duì)于那些“應(yīng)用程序組件在阻止創(chuàng)建線程的容器中不能執(zhí)行”的方法,J2EE 1.3 規(guī)范給出了讓人困惑的聲明。EJB 容器不答應(yīng)應(yīng)用程序創(chuàng)建線程,但是一個(gè) Web 容器 可以 答應(yīng)應(yīng)用程序這樣做。結(jié)果,在 J2EE 1.3 中,根據(jù)所使用的 Web 容器,可以調(diào)用或者不可以調(diào)用這些方法。幸運(yùn)的是,J2EE 1.4 規(guī)范刪除了這些令人困惑的說法,只是說明下列方法只能被運(yùn)行在客戶容器中的應(yīng)用程序所使用??換句話說,它們不會(huì)在 Web 或者 EJB 容器中調(diào)用:

javax.jms.ServerSession method setMessageListener()
javax.jms.ServerSession method getMessageListener()
javax.jms.Session method run()
javax.jms.QueueConnection method createConnectionConsumer()
javax.jms.TopicConnection method createConnectionConsumer()
javax.jms.TopicConnection method createDurableConnectionConsumer()


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 久久99精品视频在线观看 | 国产精品成人亚洲一区二区 | 精品av在线播放 | 免费毛片随便看 | 91九色网址| 色综合网在线观看 | 欧美日韩夜夜 | 中文字幕在线观看视频一区 | japanese massage tube| 婷婷亚洲一区二区三区 | 欧美日本中文字幕 | fc2国产成人免费视频 | 亚洲最新无码中文字幕久久 | 欧美成人精品一区二区男人小说 | 在线免费小视频 | 亚洲精中文字幕二区三区 | 精品在线一区二区三区 | 在线中文资源免费 | 黄色免费大片 | 久久精品99国产国产精 | 色成人在线 | 国产精品免费观看视频 | 一级国产精品一级国产精品片 | 日本不卡视频在线观看 | 精精国产xxxx视频在线播放7 | 成人在线高清视频 | 毛片视频大全 | 99日韩精品视频 | 欧美精品a∨在线观看不卡 午夜精品影院 | 99ri精品| 久久久久av69精品 | 欧美精品久久久久久久久久 | 亚洲啊v在线观看 | 国产精品久久久久久久午夜片 | 国产三级国产精品国产普男人 | 欧美自拍| 精品中文字幕久久久久四十五十骆 | 日本高清黄色片 | 成年人高清视频在线观看 | 神秘电影91 | 欧美成人精品 |