java - RMI - 我说得对吗?

标签 java rmi

有人可以验证我是否正确理解 java RMI 吗?

如果我有:

public class Server extends UnicastRemoteObject 
{
    public Server() throws RemoteException
    {
        super();
        if (System.getSecurityManager() == null)
        {
            System.setSecurityManager(new RMISecurityManager());
        }
        try
        {
            Naming.rebind("rmi://someAddress/someName" , this);
        }
        catch (MalformedURLException ex)
        {
        }
        catch (ConnectException ex)
        {
        }

/* do sometnig else there */
   }
}

这是否意味着如果有 100 个客户端连接,RMI 将创建该服务器的 100 个副本作为线程来为这些客户端提供便利(无需我进一步干预)?

最佳答案

不,如果连接了 100 个客户端,RMI 注册表将管理许多单独的线程,这些线程全部针对 Server 类的单个实例执行。

最有可能的是,将为每个客户端连接生成一个新线程,可能是多个线程,但永远不会创建 Server 的新实例。

关于java - RMI - 我说得对吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4716175/

相关文章:

java - 从 TableRow 获取生成的 TextView 的值

java - SpelEvaluationException: EL1007E:(pos 43): 在 null 上找不到字段或属性 'group'

java - 公开为 RmiServiceExporter 代理的服务的引用返回值(或 RMI 的替代方案)

java - 指定 Java 安全策略的远程代码库

java - 使用 list 文件 ClassNotFoundException 从可执行 JAR 启动 JAR 文件时出现问题

java - 如何以干净的方式在spring-boot中验证基于另一个属性?

java - 为什么我不能直接访问(并锁定)对象用于同步块(synchronized block)的隐式锁

java - 如何编写 java RMI 回调或 RMI 监听器或双向 RMI

java - 负载平衡 Java RMI 请求

java - 给定应用程序的多个 SingleThreadExecutor...是个好主意吗?