Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JacORB 3.x中本地对象的便携式拦截器使用不当?_Java_Interceptor_Corba_Jacorb - Fatal编程技术网

Java JacORB 3.x中本地对象的便携式拦截器使用不当?

Java JacORB 3.x中本地对象的便携式拦截器使用不当?,java,interceptor,corba,jacorb,Java,Interceptor,Corba,Jacorb,JacORB 3中如何将便携式拦截器用于本地对象的实现发生了变化,如下所示: 发行说明中指出:“为本地对象正确实现了可移植拦截器。” 这一新的实施似乎带来了一些问题;重现问题的最简单方法 是从sas演示(jacorb附带的演示)修改GssUpServer.java: GssUpClient.bat之后的堆栈跟踪: 2013-04-11 11:01:24.968 SEVERE unexpected exception during servant_preinvoke or

JacORB 3中如何将便携式拦截器用于本地对象的实现发生了变化,如下所示: 发行说明中指出:“为本地对象正确实现了可移植拦截器。” 这一新的实施似乎带来了一些问题;重现问题的最简单方法 是从sas演示(jacorb附带的演示)修改GssUpServer.java:

GssUpClient.bat之后的堆栈跟踪:

2013-04-11 11:01:24.968 SEVERE unexpected exception during servant_preinvoke              org.jacorb.security.sas.SASClientInterceptor.send_request(SASClientInterceptor.java:194)
org.jacorb.orb.portableInterceptor.ClientInterceptorIterator.invoke(ClientInterceptorIterator.java:129)
org.jacorb.orb.portableInterceptor.AbstractInterceptorIterator.iterate(AbstractInterceptorIterator.java:66)
org.jacorb.orb.portableInterceptor.ClientInterceptorIterator.iterate(ClientInterceptorIterator.java:87)
org.jacorb.orb.DefaultClientInterceptorHandler.invokeInterceptors(DefaultClientInterceptorHandler.java:328)
org.jacorb.orb.DefaultClientInterceptorHandler.handle_send_request(DefaultClientInterceptorHandler.java:132)
org.jacorb.orb.Delegate.servant_preinvoke(Delegate.java:2505)
org.omg.CORBA.portable.ObjectImpl._servant_preinvoke(ObjectImpl.java:135)
org.jacorb.demo.sas._SASDemoStub.printSAS(_SASDemoStub.java:73)
org.jacorb.demo.sas.GssUpServer.printSAS(GssUpServer.java:46)
org.jacorb.demo.sas.SASDemoPOA._invoke(SASDemoPOA.java:47)
org.jacorb.poa.RequestProcessor.invokeOperation(RequestProcessor.java:348)
org.jacorb.poa.RequestProcessor.process(RequestProcessor.java:670)
org.jacorb.poa.RequestProcessor.run(RequestProcessor.java:820)
java.lang.NullPointerException
    at org.jacorb.security.sas.SASClientInterceptor.send_request(SASClientInterceptor.java:194)
    at org.jacorb.orb.portableInterceptor.ClientInterceptorIterator.invoke(ClientInterceptorIterator.java:129)
    at org.jacorb.orb.portableInterceptor.AbstractInterceptorIterator.iterate(AbstractInterceptorIterator.java:66)
    at org.jacorb.orb.portableInterceptor.ClientInterceptorIterator.iterate(ClientInterceptorIterator.java:87)
    at org.jacorb.orb.DefaultClientInterceptorHandler.invokeInterceptors(DefaultClientInterceptorHandler.java:328)
    at org.jacorb.orb.DefaultClientInterceptorHandler.handle_send_request(DefaultClientInterceptorHandler.java:132)
    at org.jacorb.orb.Delegate.servant_preinvoke(Delegate.java:2505)
    at org.omg.CORBA.portable.ObjectImpl._servant_preinvoke(ObjectImpl.java:135)
    at org.jacorb.demo.sas._SASDemoStub.printSAS(_SASDemoStub.java:73)
    at org.jacorb.demo.sas.GssUpServer.printSAS(GssUpServer.java:46)
    at org.jacorb.demo.sas.SASDemoPOA._invoke(SASDemoPOA.java:47)
    at org.jacorb.poa.RequestProcessor.invokeOperation(RequestProcessor.java:348)
    at org.jacorb.poa.RequestProcessor.process(RequestProcessor.java:670)
    at org.jacorb.poa.RequestProcessor.run(RequestProcessor.java:820)
上述代码在JacORB 2.3.1中运行良好。解决此问题的简单方法是将属性
jacorb.isLocalHistoricalInterceptors
设置为true; 但是,某些“内置”方法(例如
\u is\u a()
)不遵守此标志(因为这些方法直接使用
is\u really\u local()
检查对象的局部性)。看来 这些“内置”方法调用以前从未在本地调用时使用过拦截器

因此,我的观察结果是:

  • jacorb3.x似乎破坏了一些用于本地调用的可移植拦截器(确切地说,是需要连接对象的拦截器…)
  • JacORB 3.x似乎是第一个使用便携式拦截器对
    \u is\u a()
    \u不存在()
    \u接口()
    \u get\u组件()进行本地调用的JacORB
  • 第一个问题是可以解决的,因为有一个属性使JacORB 3.x与旧版本一样工作。第二个(加上第一个)似乎真的很麻烦


    有没有其他人注意到这种行为,并且能够证实我的怀疑,这确实是JacORB 3.x中的一个缺陷,或者我遗漏了什么

    带有本地调用的内置便携式拦截器应能正常工作;这听起来像个虫子。事实上,听起来像。我也输入了

    恐怕我没有看到这一点,因此回复很晚;请注意这里有官方的JacORB邮件列表:bugzilla谢谢!我们在软件中对此做了一个快速补丁,之后我有点忘记了这个问题。我可能应该马上用你的bugzilla:)
    2013-04-11 11:01:24.968 SEVERE unexpected exception during servant_preinvoke              org.jacorb.security.sas.SASClientInterceptor.send_request(SASClientInterceptor.java:194)
    org.jacorb.orb.portableInterceptor.ClientInterceptorIterator.invoke(ClientInterceptorIterator.java:129)
    org.jacorb.orb.portableInterceptor.AbstractInterceptorIterator.iterate(AbstractInterceptorIterator.java:66)
    org.jacorb.orb.portableInterceptor.ClientInterceptorIterator.iterate(ClientInterceptorIterator.java:87)
    org.jacorb.orb.DefaultClientInterceptorHandler.invokeInterceptors(DefaultClientInterceptorHandler.java:328)
    org.jacorb.orb.DefaultClientInterceptorHandler.handle_send_request(DefaultClientInterceptorHandler.java:132)
    org.jacorb.orb.Delegate.servant_preinvoke(Delegate.java:2505)
    org.omg.CORBA.portable.ObjectImpl._servant_preinvoke(ObjectImpl.java:135)
    org.jacorb.demo.sas._SASDemoStub.printSAS(_SASDemoStub.java:73)
    org.jacorb.demo.sas.GssUpServer.printSAS(GssUpServer.java:46)
    org.jacorb.demo.sas.SASDemoPOA._invoke(SASDemoPOA.java:47)
    org.jacorb.poa.RequestProcessor.invokeOperation(RequestProcessor.java:348)
    org.jacorb.poa.RequestProcessor.process(RequestProcessor.java:670)
    org.jacorb.poa.RequestProcessor.run(RequestProcessor.java:820)
    java.lang.NullPointerException
        at org.jacorb.security.sas.SASClientInterceptor.send_request(SASClientInterceptor.java:194)
        at org.jacorb.orb.portableInterceptor.ClientInterceptorIterator.invoke(ClientInterceptorIterator.java:129)
        at org.jacorb.orb.portableInterceptor.AbstractInterceptorIterator.iterate(AbstractInterceptorIterator.java:66)
        at org.jacorb.orb.portableInterceptor.ClientInterceptorIterator.iterate(ClientInterceptorIterator.java:87)
        at org.jacorb.orb.DefaultClientInterceptorHandler.invokeInterceptors(DefaultClientInterceptorHandler.java:328)
        at org.jacorb.orb.DefaultClientInterceptorHandler.handle_send_request(DefaultClientInterceptorHandler.java:132)
        at org.jacorb.orb.Delegate.servant_preinvoke(Delegate.java:2505)
        at org.omg.CORBA.portable.ObjectImpl._servant_preinvoke(ObjectImpl.java:135)
        at org.jacorb.demo.sas._SASDemoStub.printSAS(_SASDemoStub.java:73)
        at org.jacorb.demo.sas.GssUpServer.printSAS(GssUpServer.java:46)
        at org.jacorb.demo.sas.SASDemoPOA._invoke(SASDemoPOA.java:47)
        at org.jacorb.poa.RequestProcessor.invokeOperation(RequestProcessor.java:348)
        at org.jacorb.poa.RequestProcessor.process(RequestProcessor.java:670)
        at org.jacorb.poa.RequestProcessor.run(RequestProcessor.java:820)