Scenarios Explaining Custom Service Health Check

The following are some scenarios that will help you understand the concepts behind Custom Service Health Check.
Note: In these diagrams, S indicates a Promoted Service, R indicates a Promoted Reference, and J indicates a Java Implementation Type Component.

Scenario 1

In this scenario, only J2 has an annotated Service Health Check operation.

If a Service Health Check request is invoked on S1 with hops=1, the response generated will be:

S1 (Base Service Health Check response) -> J1 (Base Service Health Check response) -> J2 (Base Service Health Check response plus Custom Service Health Check response).

Scenario 2

In this scenario, only J4 has an annotated Service Health Check operation.

If Service Health Check request is invoked on S1 with hops=2, the response generated will be:

S1 (Base Service Health Check response) -> J1 (Base Service Health Check response) -> J2 (Base Service Health Check response) -> R1 (Base Service Health Check response) -> S2 (Base Service Health Check response) ->J4 (Base Service Health Check response plus Custom Service Health Check response).

Scenario 3

In this scenario, only J2 has an annotated Service Health Check operation.

If a Service Health Check request is invoked on S1 with hops=2, the response generated will be:

Scenario 4

In this scenario, only J2 has an annotated Service Health Check operation.

If a Service Health Check request is invoked on S1 with hops=2, the response generated will be:

As J4 is reachable from two paths, the J4 Service Health Check response is added twice in the final Service Health Check Response.

Scenario 5 (Timeout)

In this scenario, J2 and J3 have annotated Service Health Check operations.

If a Service Health Check request is invoked on S1 with hops=2 and the time required by J3 for execution of Service Health Check operation is more than the time alloted to it, the response generated will be: