JDK动态代理在EJB3(包括WebService)中的应用



最近仔细研究了一下EJB3的原理,以前的分布式通讯,其实本质上都大同小异,在客户端需要可见的存根对象(stub),在服务器端需要骨架(skeleton),这两个对象进行网络通讯细节。

而动态代理的出现,改变了stub的生成方式,stub变成了动态生成,序列化到客户端,当客户端Proxy对象去调用“好像是服务器端的”业务逻辑方法时,InvocationHandler实现类的invoke方法被默认调用,关键来了:

这个InvocationHandler的处理逻辑其实是再次建立网络通讯,将Method对象,Object[] args对象序列化到服务器端,从而实现服务器端的真是业务逻辑对象的真实方法调用。

上传个自己写的模拟EJB3动态代理的工程!!!

猜你喜欢

转载自f543711700.iteye.com/blog/1172586
今日推荐