[jacorb-developer] reconnection to (TAO)servers

shectman1 shectman1 at llnl.gov
Tue Feb 3 03:27:51 CET 2015


If you can get this in time, I would like to recall my previous message, sent moments ago.

Thank you.


On 02/02/2015 06:25 PM, shectman1 wrote:
> I am in the process of trying to update from JacORB 2.3.1 and TAO 6.0.1 to
> JacORB 3.5 and TAO 6.3.1, and have a question about some code I wrote some time
> ago (probably under JacORB 2.3.1 and TAO 5.7).
>
> We use TAO/C++ for our servers, and JacORB for our gui(s).
>
> For a variety of reasons, our servers can exit while the gui(s) are still
> running (everything from bugs to timeouts).  In addition our servers let
> TAO select the ports when servers are run (historical artifact from when
> we were using ORBIX).  When a server restarts, its pretty rare for it to be
> started with the same ports as the previous invocation.
>
> This means that every IOR in jacorb that pointed to the server that restarted,
> is no longer valid, which tended to crash the gui(s) after trying to reconnect to
> the server, but using a now out-dated port.  JacORB would try several times to
> reconnect to the server, but since it always used an now obsolete port, it would
> of course never succeed.  If there was a way for JacORB to
> trigger a restart of the server, and remap the ports, I was never aware of it.
>
> Several years ago, I implemented a JacORB based Client Interceptor, that caught
> the error of the IOR with a now bad port, cracked the IOR for the server name,
> called the TAO implementation repository to restart the server, looked up the
> new service to get its port number, put the new port number in the IOR, and
> issued a forward request.  And by magic, it all worked. Thankfully, the worst part
> was cracking the IOR, and there was a jar to support that.  Its not all that much code
> actually, and significantly improved our system.
>
> Stick with this just a bit more, I'm almost there.
>
> In order for the Interceptor to talk to the TAO IMR, which has/had a different
> interface than the JacORB IMR, I had to generate an
> ImplementationRepository.idl file for the JacORB jidl compiler to generate
> the java to talk to the TAO implementation repository.  For that I was able to use
> ImplRepo.pidl and ServerObject.pidl from TAO.   Under TAO 6.3.1 those files no longer exist,
> nor have I found equivalents (yet).
>
> So finally - the question.  Does JacORB 3.5 have anything internally these days that
> will detect when an IOR is no longer connected to the server, and tries to reconnect,
> but detects the potential change in port numbers for the server (when the server is running
> under TAO)?
>
>
>
> Thank you.
>


-- 

Robert M. Shectman

National Atmospheric Release Advisory Center (NARAC)
Lawrence Livermore National Laboratory

shectman at llnl.gov
(925)423-6714



More information about the jacorb-developer mailing list