2010-11-20 2 views
0

CORBA를 사용하여 포팅 할 Java RMI 앱이 있습니다. 그렇게하기 위해 자바에서 IDL로 원격 인터페이스 정의를 변경해야하지만 정확히 어떻게해야하는지 잘 모르겠습니다.IDL에 자바 인터페이스 이식

자바 인터페이스의 메소드 중 하나에는 미리 정의 된 데이터 유형 (예 : string, int 등)이 아니지만 내가 정의한 매개 변수가 있습니다. 자바 인터페이스에서 해당처럼 정의 할 : 클라이언트와 서버 모두가 자신의 빌드 경로에 클래스 MyObject를의 정의를 가지고 있기 때문에 객체의 RMI 구현 통과에

public int doSomething(MyObject o); 

이 가능하다.

long doSomething(in MyObject o); 

을 아니면이를 정의 할 필요가 수행

그래서 나는 내가 클라이언트와 서버에 MyObject에 파일을 넣으면 작동하고 이런 식으로 IDL의 메소드의 정의를 변경하면 것인지 궁금 클래스와 그 메소드는 어떻게 든 IDL에도 존재합니까?

답변

1

idl 모듈에 MyObject를 잘 정의해야합니다. 클라이언트와 서버의 빌드 경로에 클래스를 정의하는 것만으로는 충분하지 않습니다.

+0

괜찮 으면 어떻게 정의 할 수 있습니까? typedef 명령을 사용해야합니까? – dominos

+0

당신은 방금 MyObject가 구현하고 당신의 메소드 시그니처가 doSomething (MyInterface) 등이되는 idl 모듈에 인터페이스를 정의 할 것입니다 ... – hhafez

+0

이 MyInterface에서 서버에서 사용되는 객체의 메소드 만 정의해야합니까? 또는 모든 방법? 또한이 객체 클래스가 java에서이 인터페이스를 구현하도록해야합니까? – dominos

3

rmic -idl이 작업을 수행합니다. 도구 설명서를 참조하십시오.

+0

네, 그렇게 쉬운 방법이었을 것 같습니다. 이미 수동으로 idl을 완료했습니다. – dominos