If Rabbit's not running, we don't get a `BCE`, we get

`org.springframework.amqp.AmqpConnectException: java.net.ConnectException: Connection refused`

so this catch block is never executed.

The container continues to run (and in fact seems to work OK, once Rabbit is restarted). However, we don't get the `logContainerInfo` nor is the shutdown listener registered, nor do we get the `ContainerStartedEvent`.

The `Container` object returned by this method (null in the case of a non-running Rabbit) is discarded anyway (in `Container.main()`, `launch()` is invoked without assigning its result to a variable).

So, we can "fix" it by catching `Exception` so the container fails to start but it seems like we're not that far away from being able to recover from a down broker. Seems like we could go ahead and let the other be executed even if the broker is down.

Or, maybe for now, we can let the container fail to initialize and, as discussed before, add a `RetryTemplate` to the `Container.main()`.