java - 如何将 java webstart 与 RMI 混合使用?

标签 java rmi java-web-start

我想发布一个使用 RMI 的 webstart 应用程序。

我想避免向用户询问RMI服务器的地址,因为分发应用程序的网站也是RMI服务器。

此外,我在构建时并不知道服务器的地址,因此必须在 JNLP 中添加临时配置地址,或者必须在执行时提供该地址。这是首选方式:是否可以这样做?

最佳答案

我并没有完全使用 Java RMI(我只使用了带有 Hessian 二进制协议(protocol)的 Java Web Start 来做 RMI 之类的事情),但至少将服务器地址传递给 Web Start 客户端应用程序的部分应该放轻松。当您在应用程序中生成 JNLP 文件时,将地址添加为属性:

<jnlp>
  [...]
  <resources>
    [...]
    <property name="serverAddress" value="..." />
  </resources>
</jnlp>

然后,在客户端代码中读取该属性:

String serverAddress = System.getProperty("serverAddress");

我在这里假设分发应用程序的网站知道自己的地址:)

编辑(在构建时不知道地址的额外限制):嗯,分发应用程序的网站是动态的还是静态的?

  1. 动态:要么动态生成整个 JNLP(使用 JSP 页面或 dom4j 或其他),要么读取"template"JNLP XML 文件并替换真实的服务器地址
  2. 静态:我猜部署站点的人必须在 JNLP 文件中手动配置正确的地址?

关于java - 如何将 java webstart 与 RMI 混合使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/460567/

相关文章:

java - Spring Loading 问题 - 上下文配置位置

Java - 列出当前 RMI 连接

java - 如何设计一个 API 来使用 java RMI 操作远程对象

java - 我如何才能及早访问 Oracle Java 更新,以便在这些更新公开时测试我的 RIA 并避免防火演习?

java - 由程序控制的 eclipse Action ?

java - 用一个变量设置两个 Object.date 属性给我带来了问题

java - 如何将JSF 2.0插件添加到eclipse中?

java - 如何将 Java 控制台输出通过管道传输到文件?

java - 使用自定义类作为 map 中的键

java - RMI - 我说得对吗?