0

我有一个想要移植到使用 CORBA 的 java RMI 应用程序。为此,我必须将远程接口定义从 java 更改为 IDL,但我不确定该怎么做。

目前,java 接口中的一种方法的参数不是预定义的数据类型(如字符串、int 等),而是我自己定义的。在 java 接口中,您可以这样定义它:

public int doSomething(MyObject o);

在 RMI 实现中,对象的传递成为可能,因为客户端和服务器在它们的构建路径上都有类 MyObject 的定义。

所以我想知道如果我将 MyObject 文件放在客户端和服务器上,然后将 IDL 中的方法定义更改为如下所示,它是否会起作用:

long doSomething(in MyObject o);

或者我是否需要在 IDL 中以某种方式定义此类及其方法?

4

2 回答 2

3

rmic -idl会为你做这件事。请参阅工具文档。

于 2010-11-21T00:43:58.297 回答
1

您需要在 idl 模块中很好地定义 MyObject 。在客户端和服务器的构建路径中定义类是不够的。

于 2010-11-20T21:59:38.517 回答