Java 在调用“后丢弃CORBA的仆人”;“仆人”到“参考”;

Java 在调用“后丢弃CORBA的仆人”;“仆人”到“参考”;,java,corba,jacorb,Java,Corba,Jacorb,下面的序列为我提供了一个IOR,并保留了MyObj实例 CORBA(JacORB)内部的某个地方,以便可以在以后的阶段使用IOR: MyObj myObj = new MyObj(); org.omg.CORBA.Object ref = poa.servant_to_reference(myObj); org.omg.CORBA.Object href = MyObjHelper.narrow(ref); String ior = orb.object_to_string(href);

下面的序列为我提供了一个IOR,并保留了MyObj实例 CORBA(JacORB)内部的某个地方,以便可以在以后的阶段使用IOR:

MyObj myObj = new MyObj(); 
org.omg.CORBA.Object ref = poa.servant_to_reference(myObj); 
org.omg.CORBA.Object href = MyObjHelper.narrow(ref); 
String ior = orb.object_to_string(href); 
我是否可以告诉JacORB放弃“myObj”(当然是在稍后的阶段)?参考资料永远保存 在某些Hastable(JacORB内部)中,以及在创建大量条目时 wild OutOfMemory会在某个时刻出现。我想让JacORB忘记我的
对象。您可以做的第一件事是停用未使用的仆人,**。问题是知道何时可以停用服务

最好的ideia是通过一些超时策略实现的


不要忘记。

您可以做的第一件事是停用未使用的仆人,**。问题是知道何时可以停用服务

最好的ideia是通过一些超时策略实现的


不要忘记。

无论何时引用Corba对象,其内部引用计数都会增加1。这类似于Java垃圾收集器机制

这意味着只有当
ior
href
ref
被垃圾收集时,
myObj
才会被垃圾收集


还有一个选项可以手动减少myObj的Corba引用计数,但不建议这样做,因为这样会破坏Corba的引用计数机制,并导致不可预测的行为。

每当引用Corba对象时,它的内部引用计数都会增加1。这类似于Java垃圾收集器机制

这意味着只有当
ior
href
ref
被垃圾收集时,
myObj
才会被垃圾收集

还有一个选项可以手动减少myObj的Corba引用计数,但不建议这样做,因为这样会破坏Corba的引用计数机制,并导致不可预测的行为。

poa.deactivate_object()确实是解决问题的有效方法(我没有时间发布解决方案)。谢谢你的额外信息!poa.deactivate_object()确实是解决问题的有效方法(我没有时间发布解决方案)。谢谢你的额外信息!