【问题标题】:JAVA::CORBA NameComponent nameService.rebind results in an exception java.lang.NullPointerExceptionJAVA::CORBA NameComponent nameService.rebind 导致异常 java.lang.NullPointerException
【发布时间】:2012-09-07 23:25:48
【问题描述】:

我得到了以下我正在尝试调试的 JAVA CORBA 服务器代码。

代码 sn-p(不是全部代码)如下。代码运行没有任何问题。但是,当我取消注释“nameService.rebind(countName”时,我得到以下异常:

java.lang.NullPointerException

在我看来,问题与 countName 数组有关。知道什么会导致异常吗?

//在命名服务中绑定Count对象

  NameComponent[] countName = new NameComponent [1000];
  for(int i=1;i<1000;i++){
      countName[i] = new NameComponent ("+i+", "");
  }
 // nameService.rebind(countName, 
 //         myPOA.servant_to_reference(countServant));

  System.out.println(myPOA.servant_to_reference(countServant)
        + " is ready.");

【问题讨论】:

  • 你的nameService 实例化了吗?
  • 是的。我想我确实在这里实例化了:
  • NamingContextExt nameService = NamingContextExtHelper.narrow(nameServiceObj); if (nameService == null) { System.out.println("nameService = null");返回; }
  • 为了解决这个问题,我使用了to_name方法如下:object[componentIndex]=nameService.to_name("MyObject"+componentIndex);
  • 请提供完整的堆栈跟踪并标记行

标签: java corba


【解决方案1】:

您的 NameComponent[0] 在此处为 NULL。把代码改成

NameComponent[] countName = new NameComponent [1000];
  for(int i=0;i<1000;i++){
      countName[i] = new NameComponent ("+i+", "");
  }

在您的代码中,您从 1 开始循环,但您应该从 0 开始

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-15
    • 1970-01-01
    • 1970-01-01
    • 2015-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多