问题标签 [rmi]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 使用单个 RMI 注册表
我一直在将 RMI 用于我目前正在处理的项目,并且我想从多个主机绑定到单个 RMI 注册表。
但是,当我尝试这样做时,我收到一条错误消息
java.rmi.AccessException: Registry.Registry.bind 不允许;origin / 192.168.0.9 是非本地主机
我做了谷歌搜索,似乎 RMI 默认情况下会阻止远程主机绑定,我想知道是否有某种方法可以覆盖或绕过它?
如果有人对如何解决这个问题有任何建议,他们将不胜感激,我尝试使用不同的策略文件并覆盖安全管理器,但似乎没有一个工作。
java - 如何路由到最近的 RMI 服务器?
继续我的问题如何提高客户端服务器架构应用程序的性能
我决定维护一个集中式数据库和几个从服务器-数据库配置。我计划使用Symmetric DS在从属数据库和主数据库之间进行复制。每个服务器-数据库配置都将安装在离客户端更近的位置。理想情况下,出于显而易见的原因,我希望来自客户端的请求路由到最近的从服务器数据库。由于我使用 RMI 连接到服务器,我想知道当前是否有任何产品/API 可用,这可以解决这个问题?
除上述解决方案之外的任何其他解决方案都受到高度重视:)
注意:重构客户端代码绝对是一种选择,但由于应用程序非常庞大,它存在巨大的风险(可能会破坏现有代码)、耗时且昂贵。
java - 如何在 JBoss 的默认 RMI 注册表中注册服务器并从运行在另一个 JVM 中的客户端访问它?
我正在尝试通过 RMI访问部署在JBoss应用程序服务器上的Jackrabbit存储库。
当我尝试使用 ClientRepositoryFactory.getRepository('rmi://xxx.xxx.xxx.xxx:1099/imageserver') 连接到工厂时,出现以下异常。但是,如果我创建一个 Web 应用程序,该应用程序在具有不同端口的服务器上启动一个新的 RMI 注册表并在该新注册表中注册 Jackrabbit,它就可以工作。
但是,我需要通过对默认 JBoss 配置进行最小的调整来使其正常工作。因此,任何人都可以阐明问题的原因。我在其他地方看到过很多关于同一主题的帖子,我们已经尝试了所有合理(以及许多不合理)建议的解决方案。
java - 在不同的网络上时出现 JBoss UnknownHostException
我在让 JBoss 跨网络工作时遇到了一些问题。作为快速概述,我们有一个开发网络(我将其称为 DEV)和一个客户端网络(例如.. CLIENT!)。这些通过防火墙连接。在 Dev 网络中,服务器称为 192.168.100.50,在客户端网络中称为 10.0.100.50。两个网络中的 DNS 通过 DNS (sqlserver.dev.net) 解析相关 IP。
sqlserver 提供 2 种服务,一种通过 .NET Web 服务,另一种通过 JBoss。在 DEV 网络上运行客户端时,两种服务都可以正常工作。在 CLIENT 网络上时,只有 .NET 服务有效。
JBoss 客户端在尝试执行以下代码中的 ContextLookup 时会抛出 UnknownHostException:
例外是:
根异常是 java.rmi.UnknownHostException:未知主机:SQLserver
我可以确认问题在于客户端正在尝试连接到没有域名的“sqlserver”。这已经通过将“sqlserver”添加到客户端的主机文件中进行了测试,并且工作正常。此外,“SQLserver”的拼写很有趣,因为这是 Windows 主机报告它的主机名的方式,而不是它在 DNS 中的存储方式。我最好的猜测是,一旦客户端建立初始连接,JBoss 会告诉客户端将来连接到“SQLserver”,客户端无法解决。
我已经尝试将以下系统属性设置为 sqlserver 的 FQDN:
jgroups.bind_addr
bind.address
java.rmi.server.hostname
有没有人有任何想法?
java - 是否可以在两个类之间使用 RMI 双向?
我想在两个类(A 和 B)之间共享一些信息,它们在不同的 java 程序中运行。我不想编写一个完整的通信协议,而是为此目的使用 java 内置 rmi 类。目前 B 类能够远程运行属于 A 类的方法。是否可以在 A 类中使用相同的“连接”来调用 B 类的方法?否则我可能不得不实施第二个 rmi 服务......
BR,
马库斯
java - java RMI 连接到服务器
我有一个非常简单的 rmi 客户端/服务器应用程序。虽然我不使用“rmiregistry”应用程序,但我使用它来创建服务器:
客户端部分是:
这是一个有趣的问题:当服务器和客户端都在我的(私有)本地网络中运行时,应用程序可以完美运行。一旦我将服务器放在公共服务器上,应用程序就会挂起一分钟,然后给我以下错误:
我认为的关键是客户端(在我的专用网络上运行)无法连接到我自己(我的地址是 192.168.xy,其中 xy 是其他一些数字,但真正的错误消息显示我的 IP 地址在那里列出)
如果我在公共互联网上杀死 rmi 服务器,那么我会立即收到“连接拒绝托管:abcd”)消息,所以我知道服务器端的某些东西至少在工作。
有什么建议么?
编辑:只是为了更清楚一点:192.168.xy 是客户端地址,abcd 是服务器地址。堆栈跟踪显示客户端无法连接到客户端。
java - 更改默认 RMI 端口 (Java)
如何更改默认 RMI 端口 (1099)。它可以作为 JVM 参数或通过编码,没关系。谢谢。
java - rmi over ssl/tls,有什么方法可以安全地识别调用者?
有没有办法在运行被调用方法(服务器端)时安全地获取方法调用程序?
我知道可以通过服务器属性访问客户端字符串,但它不是太“弱”吗?有什么方法可以获得例如客户端证书所有者?
请给我一些提示,之后将 RTFD ;)
提前致谢
java - 如何检查 RMI 是否已连接/是否可以连接?
我想知道我的 RMI 端口是否可用或忙。虽然我知道如果无法连接会引发异常,但我希望控制它 - 显示消息“连接失败”并停止进程。(我正在使用 Eclipse)。怎么可能呢?
java - 在 netbeans 中使用 rmic
我在 netbeans 6.5 中编写了 rmi 服务器代码。如何在 netbeans 6.5 中使用 rmic 以便创建 server_stub 类?