Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
Description
One of the problems with optional references is that you have to wrap any call to them in a try catch for ServiceUnavailableException which could be thrown. There is no realistic way to "know" that the proxy is wired. Any option you might choose provides a window where you could still get ServiceUnavailableException.
Instead I propose adding the following optional attribute in the blueprint extension schema:
default="bean id"
when the no backing service is provided if this is set the request will be silently routed to the identified default bean. When the service arrives it will switch and route to the target service. When the service goes it will route back to the default bean assuming no alternative is available.