Hi again!
Having further experimented with a Tuscany client-service program in
which the client and server runs in separate VMs and the contact between
these nodes are established using Tribes or Hazelcast, I have noticed
the following:
If the client attempts to invoke the service prior to the service
reference injected into the client has been resolved (?), the call will
of course fail. However, all subsequent attempts to invoke the service
will also fail.
It seems like the first call to an unresolved reference prevents the
reference from ever being resolved.

Some thoughts on the above:
As far as I am concerned, this is an issue since I have to guarantee
that all services used by a client node are resolved prior to attempting
to use them.
Is there any way that I in my client program can determine whether a
reference has been resolved?
Ideally, I wouldn't have to write code in the client to determine this,
rather this would be taken care of by the runtime which, as long as the
reference is not resolved, throws an exception, and once the reference
is resolved, invokes the service.

If the reference is resolved prior to the first invocation and the
service node goes down to later comes back, the client is able to resume
usage of the service once the service node is back up.
Best wishes!
 Ivan

Reply via email to