java - 在实现中获取 ORB 的访问权限?

标签 java corba

我有一个棘手的问题。作为 CORBA 的新手,我无法摆脱它。

如何从另一个实现实例化一个实现对象?

通常,如果我有一个接口(interface) 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 类中,我无权访问 orb,因此无法使用 activate_object 方法获取对我的对象的引用。

我怎样才能返回这样的对象?

任何帮助将不胜感激。 提前致谢!

最佳答案

CORBA 已经提供了一个可用于获取现有 ORB 引用的函数 - ORB_init()。对于大多数 ORB,该函数的行为类似于单例,并且将返回现有的 ORB 对象(假设您每次调用它时都使用相同的 ORB ID)。

关于java - 在实现中获取 ORB 的访问权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10124487/

相关文章:

java - 从 Java 客户端连接到 Mapr-DB (M3)

java - 如何删除lucene目录以及不同的段文件

java - 确保在 StringTemplate 中转义 HTML 实体的最佳方法是什么

java - 确定 CORBA 连接的远程端口

c++ - omn​​iORB::MaxMessageSize 在 omni 4

java - 可运行的 JavaCV 项目

c++ - 用于编译 .idls 的 Makefile

vim - CORBA IDL 的 ctags 生成器?

corba - CORBA 是一种语言吗?

java - 开发可以处理 HTTPS 连接的代理 servlet