public static String buildAmqpConnectionUriFromConnection(final Connection connection) { final String id = connection.getId(); final String username = connection.getUsername().orElse(null); final String password = connection.getPassword().orElse(null); final String protocol = connection.getProtocol(); final String hostname = connection.getHostname(); final int port = connection.getPort(); final boolean failoverEnabled = connection.isFailoverEnabled(); final Map<String, String> specificConfig = connection.getSpecificConfig(); final String baseUri = formatUri(protocol, hostname, port); final boolean anonymous = username == null || username.isEmpty() || password == null || password.isEmpty(); final List<String> parameters = new ArrayList<>(getAmqpParameters(anonymous, specificConfig)); final boolean isSecuredConnectionWithAcceptInvalidCertificates = isSecuredConnection(connection) && !connection.isValidateCertificates(); parameters.addAll(getTransportParameters(isSecuredConnectionWithAcceptInvalidCertificates, specificConfig)); final String nestedUri = baseUri + parameters.stream().collect(Collectors.joining("&", "?", "")); final List<String> globalParameters = new ArrayList<>(getJmsParameters(id, username, password, specificConfig)); final String connectionUri; if (failoverEnabled) { globalParameters.addAll(getFailoverParameters(specificConfig)); connectionUri = wrapWithFailOver(nestedUri) + globalParameters.stream().collect(Collectors.joining("&", "?", "")); } else { connectionUri = nestedUri + globalParameters.stream().collect(Collectors.joining("&", "&", "")); } LOGGER.debug("[{}] URI: {}", id, connectionUri); return connectionUri; }
public static String buildAmqpConnectionUriFromConnection(final Connection connection) { final String id = connection.getId(); final String username = connection.getUsername().orElse(null); final String password = connection.getPassword().orElse(null); final String protocol = connection.getProtocol(); final String hostname = connection.getHostname(); final int port = connection.getPort(); final boolean failoverEnabled = connection.isFailoverEnabled(); final Map<String, String> specificConfig = connection.getSpecificConfig(); final String baseUri = formatUri(protocol, hostname, port); final boolean anonymous = username == null || username.isEmpty() || password == null || password.isEmpty(); final List<String> parameters = new ArrayList<>(getAmqpParameters(anonymous, specificConfig)); final boolean isSecuredConnectionWithAcceptInvalidCertificates = isSecuredConnection(connection) && !connection.isValidateCertificates(); parameters.addAll(getTransportParameters(isSecuredConnectionWithAcceptInvalidCertificates, specificConfig)); final String nestedUri = baseUri + parameters.stream().collect(Collectors.joining("&", "?", "")); final List<String> globalParameters = new ArrayList<>(getJmsParameters(id, username, password, specificConfig)); final String connectionUri; if (failoverEnabled) { globalParameters.addAll(getFailoverParameters(specificConfig)); connectionUri = wrapWithFailOver(nestedUri) + globalParameters.stream().collect(Collectors.joining("&", "?", "")); } else { connectionUri = nestedUri + globalParameters.stream().collect(Collectors.joining("&", "&", "")); } LOGGER.debug("[{}] URI: {}", id, connectionUri); return connectionUri; }
MqttConnectionSettings createMqttConnectionSettings(final Connection connection, final DittoHeaders dittoHeaders) { final String uri = connection.getUri(); MqttConnectionSettings connectionSettings = MqttConnectionSettings .create(uri, connection.getId(), new MemoryPersistence()); connectionSettings = connectionSettings.withAutomaticReconnect(connection.isFailoverEnabled()); final Optional<String> possibleUsername = connection.getUsername(); final Optional<String> possiblePassword = connection.getPassword(); if (possibleUsername.isPresent() && possiblePassword.isPresent()) { connectionSettings = connectionSettings.withAuth(possibleUsername.get(), possiblePassword.get()); } if (isSecureConnection(connection)) { connectionSettings = applySSLSocketFactory(connection, connectionSettings, dittoHeaders); } return connectionSettings; }
MqttConnectionSettings createMqttConnectionSettings(final Connection connection, final DittoHeaders dittoHeaders) { final String uri = connection.getUri(); MqttConnectionSettings connectionSettings = MqttConnectionSettings .create(uri, connection.getId(), new MemoryPersistence()); connectionSettings = connectionSettings.withAutomaticReconnect(connection.isFailoverEnabled()); final Optional<String> possibleUsername = connection.getUsername(); final Optional<String> possiblePassword = connection.getPassword(); if (possibleUsername.isPresent() && possiblePassword.isPresent()) { connectionSettings = connectionSettings.withAuth(possibleUsername.get(), possiblePassword.get()); } if (isSecureConnection(connection)) { connectionSettings = applySSLSocketFactory(connection, connectionSettings, dittoHeaders); } return connectionSettings; }