我有一个想要移植到使用 CORBA 的 java RMI 应用程序。为此,我必须将远程接口定义从 java 更改为 IDL,但我不确定该怎么做。
目前,java 接口中的一种方法的参数不是预定义的数据类型(如字符串、int 等),而是我自己定义的。在 java 接口中,您可以这样定义它:
public int doSomething(MyObject o);
在 RMI 实现中,对象的传递成为可能,因为客户端和服务器在它们的构建路径上都有类 MyObject 的定义。
所以我想知道如果我将 MyObject 文件放在客户端和服务器上,然后将 IDL 中的方法定义更改为如下所示,它是否会起作用:
long doSomething(in MyObject o);
或者我是否需要在 IDL 中以某种方式定义此类及其方法?