if (Duration.between(_lastRetry, now).compareTo(_retryDuration) < 0) {
throw new ConnectionUnavailableException("No Bloomberg connection is available");
}
_lastRetry = now;
s_logger.info("Bloomberg session being opened...");
Session session;
try {
session = _connector.createOpenSession();
} catch (OpenGammaRuntimeException e) {
throw new ConnectionUnavailableException("Failed to open session", e);
}
s_logger.info("Bloomberg session open");
s_logger.info("Bloomberg service being opened...");
try {
if (!session.openService(_serviceName)) {
throw new ConnectionUnavailableException("Bloomberg service failed to start: " + _serviceName);
}
} catch (InterruptedException ex) {
Thread.interrupted();
throw new ConnectionUnavailableException("Bloomberg service failed to start: " + _serviceName, ex);