AOP中的主要技术(二)

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  举报/纠错

Session Pool Design

1. 利用apache common-pool实现一个Session Pool(非常简单)

2. 如何避免代码中的returnObject()?

xxx()invoke

-------- PoolProxy --- PoolInterceptorSessionPool

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

1.用HashMap做cache

xxx() invoke

----- Proxy --- MCInterceptor

1. get Attribute @timeout

2. 用object[]作为key,看cache中的

结果是否超时

3. 假如超时 invoke

------------------ NextInterceptor...

4. 假如不超,返回被cache的结果

Draw activity UML diagram:

1. 实现绘图模块

xxx()invoke

--- Proxy --- ActivityIntercpetor

draw xxx()

---------------绘图模块

invoke

---------------------------NextInterceptor...

Persistence and descriptive transaction

1. Persistence直接使用hibernate

xxx invoke

----Proxy--HibernateInterceptor

1. 取得@tx,应该为required,requiresnew

,supports,notsupported中的一种

2. 判定当前的transaction状态

3. 决定本次调用是否在transaction当中

Folder-Node关系的复用

getFolder() getFolder() invokegetFolder()

---UserProxy ------ NodeProxy --SideEntityInterceptor-- Node

return Folder

<-----

根据Folder创建Group proxy

返回GroupProxy

<----

in the code, like this:

...

User user = userFactory.find("guty"); //user is actually a proxy

Group group = (Group)((Node)user).getFolder();

举报/纠错
 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005-2025 王朝網路 版權所有 聯絡我們導航