title: How to implement a resilient bean in Spring?
body: <p>I have a Spring bean that access an external system through http in its constructor.
  If the external system is not available at startup the bean cannot be created and application fails to start properly.</p>
  
  <p>I want my application to be able to start regardless of extenal systems. I would rather have missing functionality for a while than having to restart the application.</p>
  
  <p>I know this should be achievable in Spring with the right choice of scope and a proxying bean factory but I'm not sure how actually do it. It seems to me that most parts of Spring AOP is aimed at modifying targets that are succesfully created and is not able to handle excpetions during creation or am I wrong?</p>
  
  <p>In short: I want a proxy that creates the target bean at first access and then retains that instance as long as it works. If it fails to create it, it should throw an exception and retry next time the proxy is called.</p>
  
  <p>So, how would you implement this functionality?</p>