在没有远程接口定义的情况下从C ++调用RMI方法

时间:2014-10-10 18:46:43

标签: java c++ java-native-interface rmi

我正在用C ++编写一个客户端,它使用 JNI 连接到运行基于UnicastRemoteObject的 RMI的Java服务器。如果我使用JNI DefineClass函数加载已编译的远程接口定义,或者确保使用包含接口的.class文件的类路径启动JVM,它可以正常工作。

但是,我想知道这是否真的有必要 - 如果没有在客户端本地定义它就不可能查询和/或调用RMI服务器的接口?

1 个答案:

答案 0 :(得分:0)

您需要远程存根,编码:

  • 目标IP地址
  • 目标端口
  • 目标objectID
  • 用于生成正确方法ID的机制

...并且您无法通过CLASSPATH或RMI代码库功能获取所需的所有类和接口,而无法获取存根。