INS
INS

Reputation: 10820

TAO instance is not connected due to server restarts - how to detect?

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

Answers (0)

Related Questions