개체 참조를 여러 네임 서비스에 바인딩하는 응용 프로그램이 있습니다. 이러한 네이밍 서비스 중 하나가 다시 시작되면 그 것을 검색하고 내 참조를 다시 바인딩 할 수 있기를 바랍니다. 수 없습니다 내가 그 _non_existent을 (알고네이밍 서비스에 대한 연결을 어떻게 모니터합니까?
def check_connection(context):
try:
if CORBA.is_nil(context):
return False
if context._non_existent():
return False
except CORBA.Exception:
return False
else:
return True
) : 바로 지금, 내가 그 일을 생각할 수있는 유일한 방법은 주기적으로 다음 (필요한 omniORBpy 사용) 같은으로 이름 지정 서비스 컨텍스트 개체를 폴링하는 것입니다 "ping"작업으로 사용되지만 다른 방법으로 생각할 수는 없습니다. 끊임없이 서비스를 폴링하지 않아도 연결이 끊어졌을 때 콜백으로 알림을받을 수있는 방법이 있다면 좋을 것입니다. 거기에있는 모든 CORBA 전문가는 아이디어가 있습니까?
참고 : 네트워크 아키텍처 및 이름 지정 서비스 구현은 내 통제 범위를 벗어납니다. 따라서 영구적 인 네이밍 서비스로 전환하는 것은 불행히도 옵션이 아닙니다.
이름 지정 서비스에 영향을 줄 수있는 경우 이름을 다시 지정하면 응용 프로그램에서 수신 할 수있는 이벤트 서비스로 이벤트를 보내도록 수정하는 것이 좋습니다. 또는 영구적 인 이름 지정 서비스를 사용하는 것이 좋습니다. –