Печать трассировки стека при использовании CORBA - PullRequest
2 голосов
/ 18 декабря 2010

Мне нужно идентифицировать абонента моего метода. Поэтому я хотел бы напечатать трассировку стека. К сожалению, наша система построена с интерфейсами CORBA, поэтому, если я печатаю трассировку стека, я вижу что-то вроде этого:

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 Ответ

2 голосов
/ 18 декабря 2010

Как правило, невозможно узнать стек вызовов вызывающей стороны в CORBA - вызывающая сторона может даже не быть написана на Java.

У вас есть два варианта:

  1. разрешить распространению исключения обратно клиенту. В CORBA имеется расширение для поддержки распространения вызовов Java. Если JacORB поддерживает это, и если клиент может его интерпретировать, вы можете получить разумный след от клиента.
  2. JacORB имеет расширение для отслеживания , которое вы можете использовать вместо этого.
...