Ключевое облако литейного цеха RedisConnectionFactory - PullRequest
0 голосов
/ 07 мая 2018

В настоящее время я использую Redis, предоставленный PCF. Я подключаюсь к нему, используя JedisConnectionFactory из spring-data-redis, предоставляя необходимые конфигурации, например:

@Configuration
public class RedisConfig {

    @Bean
    public JedisConnectionFactory jedisConnectionFactory() {
        final JedisConnectionFactory jedisConFactory = new JedisConnectionFactory();
        jedisConFactory.setHostName("pivotal-redis-host");
        jedisConFactory.setPort(1234);
        jedisConFactory.setPassword("mySecretPassword");
        return jedisConFactory;
    }
}

spring-cloud-config предоставляет класс AbstractCloudConfig, который можно использовать для настройки различных соединений. Есть ли какие-то заметные преимущества, которые нужно использовать вместо JedisConnectionFactory? Похоже, нужно меньше конфигов, но есть ли другая причина?

public class RedisCloudConfig extends AbstractCloudConfig {
    @Bean
    public RedisConnectionFactory redisConnection() {
        return connectionFactory().redisConnectionFactory();
    }
}

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 07 мая 2018

Основным отличием Spring Cloud Connectors является то, что он считывает служебную информацию из службы Redis, которую вы привязали к своему приложению в Cloud Foundry. Затем он автоматически настраивает соединение Redis на основе этой динамически связанной информации.

Ваш пример использования JedisConnectionFactory, а также решение @ avhi помещают информацию о конфигурации непосредственно в исходный код или в файлы конфигурации приложения. В этом случае, если ваша служба изменится, вам потребуется перенастроить приложение и снова запустить cf push.

С помощью Spring Cloud Connectors вы можете изменить службы, просто открепив и связав новую службу Redis через CF и запустив cf restart.

0 голосов
/ 07 мая 2018

На мой взгляд, даже вам не нужно специально определять @Bean конфигурацию.

Вы можете просто использовать автоконфигурацию, предоставив Redis данные сервера в application.yml или application.properties просто.

spring:
  redis:
    host: pivotal-redis-host
    port: 1234
    password: mySecretPassword 
...