• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Khan's Notebook GCC/GNU/Linux Delphi/Window Java/Anywhere

            路漫漫,長(zhǎng)修遠(yuǎn),我們不能沒(méi)有錢(qián)
            隨筆 - 173, 文章 - 0, 評(píng)論 - 257, 引用 - 0
            數(shù)據(jù)加載中……

            JAVA MESSAGE SERVICE的概念與體系結(jié)構(gòu)(轉(zhuǎn)自計(jì)算機(jī)世界i社區(qū))

             企業(yè)信息產(chǎn)品正在成為使內(nèi)部公司運(yùn)作一體化的基本部件,也讓一些相互獨(dú)立的商業(yè)部件利用它組合成一個(gè)可靠的、更靈活的、有彈性的系統(tǒng)。另外對(duì)于傳統(tǒng)的 MOM提供商,企業(yè)信息產(chǎn)品也是被一些有名的數(shù)據(jù)庫(kù)開(kāi)發(fā)商和許多與internet相聯(lián)系的公司所提供。Java語(yǔ)言客戶端和Java語(yǔ)言中間層肯定有能 力結(jié)合和使用這些企業(yè)信息產(chǎn)品,那么JMS(Java message service)提供了這種能力,它是以SUN公司領(lǐng)導(dǎo)和發(fā)起開(kāi)發(fā)的一套標(biāo)準(zhǔn)的JAVA API。這套JAVA API(JMS API)提供了一個(gè)標(biāo)準(zhǔn)的方法去建立、發(fā)送、和接收一個(gè)企業(yè)信息系統(tǒng)的信息,它是一個(gè)接口的集合并且定義了一個(gè)JMS客戶端如何獲取企業(yè)信息產(chǎn)品的工具的 一套規(guī)則。因?yàn)樾畔⑹菍?duì)等的, 所有的JMS客戶一般都被當(dāng)作客戶端來(lái)看待。JMS API也可以
            和其他的JAVA API相結(jié)合,它甚至和JDBC API在同一個(gè)事務(wù)內(nèi)運(yùn)作而相安無(wú)事,它也可以直接地和Java Transaction API (JTA)、Java Transaction Service API (JTS)一起工作。不要把JMS API當(dāng)作JavaBeans,它最初的設(shè)計(jì)并不是作為JavaBeans部件來(lái)設(shè)計(jì)的,但是JavaBeans能夠使用它的session發(fā)送和接收信 息。不要忘了Java Naming and Directory Interface API(JNDI), 沒(méi)有它我們也無(wú)法配置和尋找JMS對(duì)象。
              JMS的應(yīng)用有以下幾個(gè)部分組合而成:
            一、    JMS Clients: 它們是java 語(yǔ)言程序用來(lái)發(fā)送和接收信息的。
            二、    Non-JMS Clients: 它們是本地的信息系統(tǒng)的API構(gòu)建的而不是用JMS API。
            三、    Messages: 每一個(gè)應(yīng)用都要定義一個(gè)信息集合用來(lái)在客戶端進(jìn)行信息通訊。
            四、    JMS Provider: 實(shí)現(xiàn)JMS的一個(gè)信息系統(tǒng),除了管理和控制之外,這也是一個(gè)完整的信息產(chǎn)品的必須的特征。
            五、    Administrated Objects: 由客戶端預(yù)先配置創(chuàng)建的JMS對(duì)象。
                JMS的管理方法:
            有兩個(gè)JMS管理對(duì)象的類(lèi)型:
            一、    ConnectionFactory:  客戶端用這個(gè)對(duì)象創(chuàng)建連接。
            二、    Destination: 客戶端指定的接收或發(fā)送的一個(gè)信息源。
            管理者將Administrated Objects放在一個(gè)叫JNDI namespace的地方。
            JMS兩種信息風(fēng)格:
            一、    POINT-TO-POINT(PTP)
            二、    PUBLISH-AND-SUBSCRIBE(PUB/SUB)
            JMS的接口:
              根據(jù)采用的信息風(fēng)格其接口對(duì)象也是不同的:
            公用對(duì)象:
              ConnectionFactory、Connection、Destination、Session、MessagerPoducer、MessageConsumer
            PTP專(zhuān)用對(duì)象:
              QueueConnectionFactory、QueueConnection、Queue、QueueSession、QueueSender、QueueReceiver or QueueBrowser
            PUB/SUB專(zhuān)用對(duì)象:
              TopicConnectionFactory、TopicConnection、Topic、TopicSession、TopicPublisher、TopicSubscriber

            開(kāi)發(fā)一個(gè)JMS客戶端的流程:
            一、    用JNDI找到一個(gè)ConnectionFactory對(duì)象。
            二、    用JNDI找到一個(gè)Destination對(duì)象。
            三、    用ConnectionFactory對(duì)象建立一個(gè)JMS Connection對(duì)象。
            四、    用JMS Connection對(duì)象建立一個(gè)或多個(gè)JMS Session對(duì)象。
            五、    用一個(gè)Session和Destination建立一個(gè)MessageProducer和MessageConsumer對(duì)象。
            六、    用Connection對(duì)象開(kāi)始信息遞交。
            JMS的多線程:
                 JMS對(duì)象中有一部分是被自動(dòng)共享的,因此JMS限制那些被自動(dòng)共享的對(duì)象使之不能夠被一個(gè)多線程的程序所存取,下面列出了哪些對(duì)象能夠被共享:
                   自動(dòng)共享的對(duì)象:
            一、    Destination
            二、    ConnectionFactory
            三、    Connection
                   不被共享的對(duì)象:
            一、    Session
            二、    MessageProducer
            三、    MessageConsumer
                    JMS消息的格式:
                    JMS提供了系列的API來(lái)完成信息的格式,我們必須嚴(yán)格按照這些格式來(lái)傳遞信息。
            一、    信息頭
                    JMSDestination,JMSDeliveryMode,JMSExpiration,JMSPriority,
                    JMSMessageID,JMSTimestamp,JMSCorrelationID,JMSReplyTo,
                    JMSType,JMSRedelivered
            二、    信息屬性
                    JMSXUserID,JMSAppID,JMSXDeliveryCount, JMSXGroupID,
                    JMSXGroupSeq,JMSXProducerTXID,JMSXConsumerTXID,
                    JMSXRcvTimestamp,JMSXState
            三、    信息體(提供了五種信息體,每一種信息體有自己專(zhuān)用的接口)
                    StreamMessage,MapMessage,TextMessage,ObjectMessage,BytesMessage

            posted on 2006-02-07 10:37 Khan 閱讀(675) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): Java

            青草影院天堂男人久久| 色婷婷狠狠久久综合五月| 久久综合九色综合网站| 久久夜色精品国产噜噜亚洲AV | 国产精品久久久久久久久鸭| 久久精品蜜芽亚洲国产AV| 国产精品九九九久久九九| 久久成人国产精品一区二区| 中文国产成人精品久久不卡| 亚洲国产精品人久久| 97精品伊人久久久大香线蕉 | 久久国产精品99久久久久久老狼| 精品人妻伦九区久久AAA片69| 久久精品国产99国产精品导航| 亚洲狠狠久久综合一区77777| 亚洲?V乱码久久精品蜜桃| 99久久精品国产免看国产一区| 久久99热这里只有精品66| 91精品国产色综合久久| 久久久久久精品久久久久| 久久精品成人一区二区三区| 久久99精品久久久久久hb无码| 久久天天躁狠狠躁夜夜躁2014| 国产A级毛片久久久精品毛片| 久久99国内精品自在现线| 久久国产欧美日韩精品| 色天使久久综合网天天| 久久久久国产| 久久精品成人免费国产片小草| 天天综合久久久网| 2021精品国产综合久久| 97久久天天综合色天天综合色hd| 无码人妻久久一区二区三区免费 | 超级碰碰碰碰97久久久久| 久久艹国产| 久久99精品久久久久久野外| 久久九九亚洲精品| 国产精品九九久久精品女同亚洲欧美日韩综合区 | 一本色道久久HEZYO无码| 中文字幕无码久久人妻| 性做久久久久久久久浪潮|