熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> JSP教程 >> 正文

AOP中的主要技術(二)

2022-06-13   來源: JSP教程 

  Session Pool Design
  
   利用apache commonpool實現一個Session Pool(非常簡單)
   如何避免代碼中的returnObject()?
  
      xxx()      invoke
      > PoolProxy > PoolInterceptor   SessionPool
                        borrowObject()
                       >
                       <
  
  
                            xxx()    Session (be borr
  owed)
                       >
  
                        returnObject()
                       >
  
  
  
  RMI design
  
   xxx()      invoke        Serialize call to remote
  > ClientProxy > RmiInterceptor >
  
       find ServerProxy xxx()        xxx()
  RmiServer> ServerProxy >>ServerObject
  
  Method Cache design
  
  用HashMap做cache
  
   xxx()    invoke
  > Proxy > MCInterceptor
              get Attribute @timeout
              用object[]作為key看cache中的
              結果是否超時
  
              如果超時   invoke
               > NextInterceptor
              如果不超返回被cache的結果
  Draw activity UML diagram:
  
   實現繪圖模塊
  xxx()   invoke
  > Proxy > ActivityIntercpetor
                 draw xxx()
              >繪圖模塊
                invoke
              >NextInterceptor
  
  Persistence and descriptive transaction
  
   Persistence直接使用hibernate
  
  
  xxx    invoke
  >Proxy>HibernateInterceptor
                   取得@tx應該為requiredrequiresnew
                  supportsnotsupported中的一種
                   判斷當前的transaction狀態
                   決定本次調用是否在transaction當中
  FolderNode關系的復用
  
  
  getFolder()  getFolder()     invoke       getFolder()
   >UserProxy > NodeProxy >SideEntityInterceptor> Node
                              return Folder
                              <
                         根據Folder創建Group proxy
                   返回GroupProxy
                   <
  
   in the code like this:
  
  
  User user = userFactoryfind(guty); //user is actually a proxy
  Group group = (Group)((Node)user)getFolder();
From:http://tw.wingwit.com/Article/program/Java/JSP/201311/19673.html
  • 上一篇文章:

  • 下一篇文章:
  • 推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.