title: Redis cluster is not working with SpringBoot + JPA application
body: <p>I am doing poc(Redis + springboot + jpa) ,when I am setting Redis Property setEnableTransactionSupport(true ) then exception of Transaction does not support in clustermode , when I am setting setEnableTransactionSupport(false) during getting redisTemplate then exception of resource pool is coming.</p>
  
  <p>@Note: This problem is happing when I setup Redis and spring boot are on different machine.
  I have 6 nodes , 3 are master and 3 are slaves.</p>
  
  <p>But When I setup whole on single machine(spring + Redis ), then it's working fine. </p>
  
  <p>below are my dependencies:</p>
  
  <pre><code>[&lt;dependency&gt;
          &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
          &lt;artifactId&gt;spring-boot-starter-data-redis&lt;/artifactId&gt;
      &lt;/dependency&gt;]
  
  [&lt;groupId&gt;redis.clients&lt;/groupId&gt;
          &lt;artifactId&gt;jedis&lt;/artifactId&gt;
          &lt;version&gt;2.9.0&lt;/version&gt;
          &lt;type&gt;jar&lt;/type&gt;]
  </code></pre>
  
  <p>I have tried what was suggested in below link:
  <a href="https://stackoverflow.com/questions/43492474/jedis-cannot-get-jedis-connection-cannot-get-resource-from-pool">Jedis, Cannot get jedis connection: cannot get resource from pool</a>
  below is my configuration for Redis Connection factory:</p>
  
  <pre><code>## Redis Properties(application.properties)
  spring.redis.cluster.nodes=127.0.0.1:7000,127.0.0.1:7001,127.0.0.1:7002
  </code></pre>
  
  <p><strong>RedisClusterConfigProp.java</strong></p>
  
  <pre><code>@Component
  @ConfigurationProperties(value = "spring.redis.cluster")
  public class RedisClusterConfigProp {
  List&lt;String&gt; nodes;
  /**
   * @return the nodes
   */
  public List&lt;String&gt; getNodes() {
      return nodes;
  }
  
  /**
   * @param nodes
   * the nodes to set
   */
  public void setNodes(List&lt;String&gt; nodes) {
      this.nodes = nodes;
  }
  
  }
  </code></pre>
  
  <p><strong>RedisClusterConfigration.java</strong></p>
  
  <pre><code>@Configuration
  public class RedisClusterConfigration {
  
  @Autowired
  public RedisClusterConfigProp clusterConfigProp;
  
  @Bean
  public RedisConnectionFactory redisConnectionFactory() {
      JedisConnectionFactory jedisConnFac = new JedisConnectionFactory(
              new RedisClusterConfiguration(clusterConfigProp.getNodes()), new JedisPoolConfig());
      jedisConnFac.getPoolConfig().setMaxIdle(40);
      jedisConnFac.getPoolConfig().setMinIdle(20);
      return jedisConnFac;
  }
  
  @Bean
  public RedisTemplate redisTemplate() {
      RedisTemplate template = new RedisTemplate();
      template.setConnectionFactory(redisConnectionFactory());
      template.setEnableTransactionSupport(false);
      return template;
  }
  </code></pre>