Same org.omg.CORBA.Object with different IOR string expression

Some different IOR string can be same org.omg.CORBA.Object object.

 

So the method to judge whether 2 IOR are same cannot use String.equal, instead:

 

    private boolean isSameIOR(String ior1, String ior2)
    {
        org.omg.CORBA.Object obj1 = null;
        org.omg.CORBA.Object obj2 = null;
       
        try {
            obj1 = orb.string_to_object(ior1);
            obj2 = orb.string_to_object(ior2);
       
            return obj1._is_equivalent(obj2);
   
        } catch (Exception e) {
            return false;
        }
    }

 

For example, following 2 IOR are different with String expression, but they are point to same object.

       [IOR:000000000000003C49444C3A6F72672F63736170692F66772F66775F6163636573732F74727573745F616E645F73656375726974792F4970496E697469616C3A312E30000000000100000000000000780001020 00000000E3133352E3235322E3138312E3300BE5A00000021626A74657374332F7061726C6179504F412F4970496E697469616C5061726C6179313431000000020000000000000008000000004A414300000000010000001C00000000000100010000000105010001000101090000000105010001]
[IOR:000000000000003C49444C3A6F72672F63736170692F66772F66775F6163636573732F74727573745F616E645F73656375726974792F4970496E697469616C3A312E30000000000100000000000000780001025 00000000E3133352E3235322E3138312E3300BE5A00000021626A74657374332F7061726C6179504F412F4970496E697469616C5061726C6179313431000000020000000000000008000000004A414300000000010000001C00000000000100010000000105010001000101090000000105010001]

 

if use orb.rebind(naming, orb.string_to_object(ior)), and orb.resolve(naming) then

both IOR can get same result value.

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值