问题标签 [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.

0 投票
5 回答
11299 浏览

java - 使用单个 RMI 注册表

我一直在将 RMI 用于我目前正在处理的项目,并且我想从多个主机绑定到单个 RMI 注册表。

但是,当我尝试这样做时,我收到一条错误消息

java.rmi.AccessException: Registry.Registry.bind 不允许;origin / 192.168.0.9 是非本地主机

我做了谷歌搜索,似乎 RMI 默认情况下会阻止远程主机绑定,我想知道是否有某种方法可以覆盖或绕过它?

如果有人对如何解决这个问题有任何建议,他们将不胜感激,我尝试使用不同的策略文件并覆盖安全管理器,但似乎没有一个工作。

0 投票
1 回答
272 浏览

java - 如何路由到最近的 RMI 服务器?

继续我的问题如何提高客户端服务器架构应用程序的性能

我决定维护一个集中式数据库和几个从服务器-数据库配置。我计划使用Symmetric DS在从属数据库和主数据库之间进行复制。每个服务器-数据库配置都将安装在离客户端更近的位置。理想情况下,出于显而易见的原因,我希望来自客户端的请求路由到最近的从服务器数据库。由于我使用 RMI 连接到服务器,我想知道当前是否有任何产品/API 可用,这可以解决这个问题?

除上述解决方案之外的任何其他解决方案都受到高度重视:)

注意:重构客户端代码绝对是一种选择,但由于应用程序非常庞大,它存在巨大的风险(可能会破坏现有代码)、耗时且昂贵。

0 投票
1 回答
3687 浏览

java - 如何在 JBoss 的默认 RMI 注册表中注册服务器并从运行在另一个 JVM 中的客户端访问它?

我正在尝试通过 RMI访问部署在JBoss应用程序服务器上的Jackrabbit存储库。

当我尝试使用 ClientRepositoryFactory.getRepository('rmi://xxx.xxx.xxx.xxx:1099/imageserver') 连接到工厂时,出现以下异常。但是,如果我创建一个 Web 应用程序,该应用程序在具有不同端口的服务器上启动一个新的 RMI 注册表并在该新注册表中注册 Jackrabbit,它就可以工作。

但是,我需要通过对默认 JBoss 配置进行最小的调整来使其正常工作。因此,任何人都可以阐明问题的原因。我在其他地方看到过很多关于同一主题的帖子,我们已经尝试了所有合理(以及许多不合理)建议的解决方案。

0 投票
2 回答
6386 浏览

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

有没有人有任何想法?

0 投票
8 回答
7807 浏览

java - 是否可以在两个类之间使用 RMI 双向?

我想在两个类(A 和 B)之间共享一些信息,它们在不同的 java 程序中运行。我不想编写一个完整的通信协议,而是为此目的使用 java 内置 rmi 类。目前 B 类能够远程运行属于 A 类的方法。是否可以在 A 类中使用相同的“连接”来调用 B 类的方法?否则我可能不得不实施第二个 rmi 服务......

BR,

马库斯

0 投票
3 回答
8588 浏览

java - java RMI 连接到服务器

我有一个非常简单的 rmi 客户端/服务器应用程序。虽然我不使用“rmiregistry”应用程序,但我使用它来创建服务器:

客户端部分是:

这是一个有趣的问题:当服务器和客户端都在我的(私有)本地网络中运行时,应用程序可以完美运行。一旦我将服务器放在公共服务器上,应用程序就会挂起一分钟,然后给我以下错误:

我认为的关键是客户端(在我的专用网络上运行)无法连接到我自己(我的地址是 192.168.xy,其中 xy 是其他一些数字,但真正的错误消息显示我的 IP 地址在那里列出)

如果我在公共互联网上杀死 rmi 服务器,那么我会立即收到“连接拒绝托管:abcd”)消息,所以我知道服务器端的某些东西至少在工作。

有什么建议么?

编辑:只是为了更清楚一点:192.168.xy 是客户端地址,abcd 是服务器地址。堆栈跟踪显示客户端无法连接到客户端。

0 投票
2 回答
31798 浏览

java - 更改默认 RMI 端口 (Java)

如何更改默认 RMI 端口 (1099)。它可以作为 JVM 参数或通过编码,没关系。谢谢。

0 投票
2 回答
877 浏览

java - rmi over ssl/tls,有什么方法可以安全地识别调用者?

有没有办法在运行被调用方法(服务器端)时安全地获取方法调用程序?

我知道可以通过服务器属性访问客户端字符串,但它不是太“弱”吗?有什么方法可以获得例如客户端证书所有者?

请给我一些提示,之后将 RTFD ;)

提前致谢

0 投票
1 回答
5196 浏览

java - 如何检查 RMI 是否已连接/是否可以连接?

我想知道我的 RMI 端口是否可用或忙。虽然我知道如果无法连接会引发异常,但我希望控制它 - 显示消息“连接失败”并停止进程。(我正在使用 Eclipse)。怎么可能呢?

0 投票
4 回答
5572 浏览

java - 在 netbeans 中使用 rmic

我在 netbeans 6.5 中编写了 rmi 服务器代码。如何在 netbeans 6.5 中使用 rmic 以便创建 server_stub 类?