使用CORBA时打印堆栈跟踪

时间:2010-12-18 12:58:05

标签: java stack-trace corba

我需要识别我的方法的调用者。所以我想打印堆栈跟踪。不幸的是,我们的系统是用CORBA接口构建的,所以如果我打印堆栈跟踪,我会看到这样的smth:

at net.mycompany.MyClass.MyMethod(Stream.java:124)
    at net.mycompany.corba.MyCORBAInterface.IDLStream64POA._invoke(Unknown Source)
    at org.jacorb.poa.RequestProcessor.invokeOperation(RequestProcessor.java:299)
    at org.jacorb.poa.RequestProcessor.process(RequestProcessor.java:602)
    at org.jacorb.poa.RequestProcessor.run(RequestProcessor.java:745)

如何识别真正的来电者?

1 个答案:

答案 0 :(得分:2)

通常,在CORBA中无法知道调用者的调用堆栈 - 调用者甚至可能不用Java编写。

您有两种选择:

  1. 让异常传播回客户端。 CORBA中有一个扩展来支持Java callstack的传播。如果JacORB支持,并且客户能够解释它,您可以在客户端获得一些合理的追溯。
  2. JacORB有一个extension for tracing,您可能想要使用它。