Reputation: 10820
I have a CORBA legacy code implemented with ACE/TAO that has some corner cases which my investigation suggests that some connection is no longer valid (tested with ss/netstat).
The interface is described in an IDL file similar to this:
module ReportService
{
interface ReportTemplateManager {
....
}
}
The interface is found in a singleton class as a member
ReportService::ReportTemplateManager_var theTemplateManager;
It is initialized in the constructor
theTemplateManager = ReportService::ReportTemplateManager::_narrow(
theOrb.ior()->resolve(
REPGEN_REGUNIT,
REPORTTEMPLATEMANAGERNAME,
endpointAddress.c_str()));
The problem that I see is the fact that in some cases there is no connection to the endpoint and all the calls seem to block.
Is there a way to check if "theTemplaceManager" is still connected, or a way to force its reconnection once the daemon is restarted?
Any pointer to an example from TAO samples is appreciated.
Thanks!
Upvotes: 0
Views: 39