这不是一个问题,而是讨论......我不知道它是否是正确的地方......
As you know, we can write our own java classloaders that can load classes over the network
那么,为什么应用服务器不只是这样做?为什么当我们在另一个应用服务器内部远程调用远程方法时,为什么我们必须有存根来返回类型和参数呢?
我认为应用程序服务器可以使用NetworkedClassLoader
等内容加载这些返回类型和参数远程处理。
答案 0 :(得分:4)
代理模式的整个想法是:
答案 1 :(得分:1)
我不打算讨论,只是为了表达我的观点。
应用服务器的重点是在服务器上完成工作。如果在客户端加载类EJBImplementation
并调用它的一些方法,那么将在客户端完成工作。此外,要正常工作EJBImplementation
必须拉出一大堆依赖关系,对本地数据库进行一些调用,天知道还有什么。因此,在大多数情况下,这样的处理不能在客户端实际完成。
因此,我们为EJBImplementation
创建了一个存根(proxy是术语),它将方法调用通过网络传递给服务器。