【发布时间】:2012-04-13 01:31:15
【问题描述】:
我有一个棘手的问题。作为 CORBA 的新手,我无法摆脱它。
如何从另一个实现实例化一个实现对象?
通常,如果我有一个接口 A。我会创建一个 A_Impl 类(在 A_Impl.java 文件中),从 idl 生成的 A_POA 类扩展。
然后,在服务器端我会做这样的事情:
AImpl my_a_impl = new A_Impl ();
org.omg.CORBA.Object ref = orb.activate_object(my_a_impl);
A my_a_object = A.narrow(ref);
但是当另一个对象 B 的方法之一需要返回 A 时怎么办?
在我的 B_impl 类中,我无法访问球体,因此无法使用 activate_object 方法获取对我的对象的引用。
然后我怎样才能返回这样的对象?
任何帮助将不胜感激。 提前致谢!
【问题讨论】:
-
您应该了解 CORBA 中仆人和引用之间的区别。这是一个非常重要的区别,将帮助您编写服务器代码。这里有两个很好的资源:@987654321@ 和 documentation.progress.com/output/Iona/orbix/6.3/develop/…
-
谢谢!我很难在 CORBA online 上找到一些超越“教程”或“入门”的好东西。我希望这些是其中的一些:)