List of usage examples for com.rabbitmq.client ConnectionFactory isSSL
public boolean isSSL()
From source file:com.zero_x_baadf00d.play.module.rabbitmq.RabbitMQModuleImpl.java
License:Open Source License
/** * Build an instance.//from w ww .j a va 2 s . c o m * * @param lifecycle The current application lifecyle * @param configuration The current application configuration * @since 16.05.19 */ @Inject public RabbitMQModuleImpl(final ApplicationLifecycle lifecycle, final Config configuration) { this.configuration = configuration; try { final String uri = configuration.getString(RabbitMQModuleImpl.RABBITMQ_CONN_URI); if (uri == null || uri.isEmpty()) { throw new RuntimeException("URI is empty"); } final ConnectionFactory connectionFactory = new ConnectionFactory(); connectionFactory.setUri(uri); connectionFactory .setRequestedHeartbeat(configuration.getInt(RabbitMQModuleImpl.RABBITMQ_CONN_HEARTBEAT)); connectionFactory .setNetworkRecoveryInterval(configuration.getInt(RabbitMQModuleImpl.RABBITMQ_CONN_RECOVERY)); connectionFactory.setConnectionTimeout(configuration.getInt(RabbitMQModuleImpl.RABBITMQ_CONN_TIMEOUT)); connectionFactory.setAutomaticRecoveryEnabled( configuration.getBoolean(RabbitMQModuleImpl.RABBITMQ_AUTO_RECOVERY)); if (uri.toLowerCase(Locale.ENGLISH).startsWith("amqps://")) { connectionFactory.useSslProtocol(); } final ExecutorService es = Executors .newFixedThreadPool(configuration.getInt(RabbitMQModuleImpl.RABBITMQ_EXECUTOR)); this.rabbitConnection = connectionFactory.newConnection(es); RabbitMQModuleImpl.LOGGER.info("RabbitMQ connected at {}", String.format("amqp%s://%s:%d/%s", connectionFactory.isSSL() ? "s" : "", connectionFactory.getHost(), connectionFactory.getPort(), connectionFactory.getVirtualHost())); } catch (Exception ex) { this.rabbitConnection = null; if (!this.configuration.getBoolean(RabbitMQModuleImpl.RABBITMQ_BYPASS_ERROR)) { RabbitMQModuleImpl.LOGGER.error("Can't initialize RabbitMQ module", ex); throw new RuntimeException(ex); } else { RabbitMQModuleImpl.LOGGER.warn("Can't initialize RabbitMQ module: {}", ex.getMessage()); } } lifecycle.addStopHook(() -> { RabbitMQModuleImpl.LOGGER.info("Shutting down RabbitMQ"); if (this.rabbitConnection != null) { this.rabbitConnection.close(); } return CompletableFuture.completedFuture(null); }); }