• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

        分布式對話服務器的管理(3)

        分布式對話服務器的管理(3)

        更新時間:2022-04-26 文章作者:未知 信息來源:網絡 閱讀次數:

        當添加或刪除一個Memory對象時,經過同步的本地Mnemosyne對象需要對所有的Mnemosyne進行更新,可以通過notify()方法來完成這一任務。無論是發生write或take事件,Mnemosyne都會針對發生的事件調用適當的監聽者的notify()方法。在synchronize()方法中,我們把本地Mnemosyne注冊為所有遠程Mnemosyne的take和write事件的監聽者,一旦遠程Mnemosyne上有take和write事件發生,就會調用本地 Mnemosyne的notify()方法。然后,本地Mnemosyne必須對事件作出反應。下面是Mnemosyne如何與遠程Mnemosyne進行同步的例子:


        public void notify(RemoteEvent remoteEvent) throws RemoteException
        {
        // 回寫被寫的內存,但無需通知所有的Mnemosyne
        if(remoteEvent instanceof WriteRemoteEvent)
        {
        WriteRemoteEvent wre = (WriteRemoteEvent) remoteEvent;
        commonContext.silentWrite(wre.getMemory());
        }

        file:// 取被寫的Memory,但無需通知所有的Mnemosyne
        if(remoteEvent instanceof TakeRemoteEvent)
        {
        TakeRemoteEvent tre = (TakeRemoteEvent) remoteEvent;
        commonContext.silentTake(tre.getMemory());
        }
        }



          現在已經創建了一個控制所有memory對象的Mnemosyne,它自動與遠程Mnemosyne保持同步,如果任何一個遠程Mnemosynes得到或失去一個Memory對象時,都可以使它保持最新的狀態。

          要通過Mnemosyne管理HTTP對話,servlet需要創建HttpSession的實例(從HttpServletRequest中使用getSession()),在實現Memory對象的類中封裝對話,并調用Mnemosyne對象的write()方法把封裝類寫到一個Mnemosyne中。

          通過調用write()方法,封裝著對話的Memory對象沿著網絡傳送給Mnemosyne,并通知遠程機器。當對象被寫到Mnemosyne時,WriteRemoteEvent被發送給在Mnemosyne上注冊的所有WriteRemoteEventListeners,這樣,所有其他的Mnemosynes就能將新的對象作為Mnemosynes添加到它們的對話信息存貯庫中。

          要對存貯的對話進行查詢,servlet調用read()方法查找包含對話的Memory對象,如果Mnemosyne找到了要查找的對象,則該對象通過RMI返回到servlet服務器。

          最后,要刪除對話,servlet就會調用Mnemosyne的take()方法,Mnemosyne將象有read事件發生那樣退還Memory對象,同時從其存貯對象庫中刪除該Memory對象。同時,向其所有TakeRemoteEventListeners發送TakeRemoteEvent事件,通知所有的遠程Mnemosynes該Memory對象已經被刪除了。

          建立對話服務器

          上面我們已經討論了如何在多服務器上維護對話存貯庫,下面我們將討論如何建立對話服務器。在初始化過程中,對話服務器完成下列任務:

          ━━創建本地Mnemosyne對象。

          ━━把本地Mnemosyne綁定到RMI。

          ━━把本地Mnemosyne與其他的遠程Mnemosyne進行同步。

        溫馨提示:喜歡本站的話,請收藏一下本站!

        本類教程下載

        系統下載排行

        主站蜘蛛池模板: 情侣视频精品免费的国产| 特级毛片免费播放| 免费看又黄又无码的网站 | 男人都懂www深夜免费网站| 亚洲精品动漫人成3d在线| 羞羞漫画登录页面免费| 亚洲国产一区明星换脸| rh男男车车的车车免费网站| 日韩一卡2卡3卡4卡新区亚洲| 亚洲黄片手机免费观看| 亚洲精品无码成人片久久| 免费视频精品一区二区三区| 蜜芽亚洲av无码精品色午夜| 国产一区二区免费| 亚洲成a人片在线观看无码专区| 久久久久久免费一区二区三区| 亚洲av日韩综合一区在线观看| 亚洲av无码片区一区二区三区| 成年网站免费视频A在线双飞| 亚洲综合激情五月丁香六月| 在线永久免费观看黄网站| 深夜久久AAAAA级毛片免费看| 亚洲日产无码中文字幕| 最近2019中文字幕免费大全5| 亚洲宅男精品一区在线观看| 国产福利免费在线观看| 两个人看的www免费视频中文| 亚洲Aⅴ无码专区在线观看q| 好男人www免费高清视频在线| 国拍在线精品视频免费观看| 亚洲av永久无码| 亚洲AV综合色区无码一区爱AV| 麻豆视频免费播放| 一级做a毛片免费视频| 亚洲综合激情九月婷婷| 免费a级毛片在线观看| 亚洲女子高潮不断爆白浆| 久久亚洲av无码精品浪潮| 18国产精品白浆在线观看免费| 污污视频免费观看网站| 亚洲精品偷拍无码不卡av|