Java 如何使用ElastiCache作为骆驼幂等存储库?

Java 如何使用ElastiCache作为骆驼幂等存储库?,java,redis,apache-camel,jedis,amazon-elasticache,Java,Redis,Apache Camel,Jedis,Amazon Elasticache,我试着用as作为骆驼路线。我尝试使用本地Redis docker容器,并使用以下代码按预期工作 IdempotentRepository redisIdempotentRepository = new RedisIdempotentRepository("redis"); from(source) .idempotentConsumer(simple("${in.header.CamelFileName}"), redisIdempotentRepository) .log("U

我试着用as作为骆驼路线。我尝试使用本地Redis docker容器,并使用以下代码按预期工作

IdempotentRepository redisIdempotentRepository = new RedisIdempotentRepository("redis");
from(source)
    .idempotentConsumer(simple("${in.header.CamelFileName}"), redisIdempotentRepository)
    .log("Uploading file ${file:name} started...")
    .to(destination)
    .log("Uploading file ${file:name} completed...");
没有提供任何详细信息,它正在连接到
localhost:6379
。如何提供要连接的
ElastiCache
详细信息


我尝试了这些配置(,)来构建RedisTemplate,但它无法连接

现在开始工作了。我在redis节点关联安全组的入站规则中添加了
6379
端口

JedisConnectionFactory jedisConnectionFactory = new JedisConnectionFactory();
jedisConnectionFactory.setHostName("<cluster-name>.mdbnso.0001.use1.cache.amazonaws.com");
jedisConnectionFactory.setPort(6379);
jedisConnectionFactory.afterPropertiesSet();

RedisTemplate redisTemplate = new RedisTemplate();
redisTemplate.setConnectionFactory(jedisConnectionFactory);
redisTemplate.afterPropertiesSet();

IdempotentRepository redisIdempotentRepository = new RedisIdempotentRepository(redisTemplate, "redis");

from(source)
    .idempotentConsumer(simple("${in.header.CamelFileName}"), redisIdempotentRepository)
    .log("Uploading file ${file:name} started...")
    .to(destination)
    .log("Uploading file ${file:name} completed...");
JedisConnectionFactory JedisConnectionFactory=new JedisConnectionFactory();
jedisConnectionFactory.setHostName(“.mdbnso.0001.use1.cache.amazonaws.com”);
jedisConnectionFactory.setPort(6379);
jedisConnectionFactory.afterPropertieSet();
RedisTemplate RedisTemplate=新RedisTemplate();
redisTemplate.setConnectionFactory(jedisConnectionFactory);
redisTemplate.AfterPropertieSet();
IdempotentRepository redidempotentrepository=新的redidempotentrepository(redisTemplate,“redis”);
来源(来源)
.idempotentConsumer(简单(“${in.header.CamelFileName}”),redisIdempotentRepository)
.log(“已开始上载文件${file:name}…”)
.至(目的地)
.log(“上载文件${file:name}已完成…”);

它现在可以工作了。我在redis节点关联安全组的入站规则中添加了
6379
端口

JedisConnectionFactory jedisConnectionFactory = new JedisConnectionFactory();
jedisConnectionFactory.setHostName("<cluster-name>.mdbnso.0001.use1.cache.amazonaws.com");
jedisConnectionFactory.setPort(6379);
jedisConnectionFactory.afterPropertiesSet();

RedisTemplate redisTemplate = new RedisTemplate();
redisTemplate.setConnectionFactory(jedisConnectionFactory);
redisTemplate.afterPropertiesSet();

IdempotentRepository redisIdempotentRepository = new RedisIdempotentRepository(redisTemplate, "redis");

from(source)
    .idempotentConsumer(simple("${in.header.CamelFileName}"), redisIdempotentRepository)
    .log("Uploading file ${file:name} started...")
    .to(destination)
    .log("Uploading file ${file:name} completed...");
JedisConnectionFactory JedisConnectionFactory=new JedisConnectionFactory();
jedisConnectionFactory.setHostName(“.mdbnso.0001.use1.cache.amazonaws.com”);
jedisConnectionFactory.setPort(6379);
jedisConnectionFactory.afterPropertieSet();
RedisTemplate RedisTemplate=新RedisTemplate();
redisTemplate.setConnectionFactory(jedisConnectionFactory);
redisTemplate.AfterPropertieSet();
IdempotentRepository redidempotentrepository=新的redidempotentrepository(redisTemplate,“redis”);
来源(来源)
.idempotentConsumer(简单(“${in.header.CamelFileName}”),redisIdempotentRepository)
.log(“已开始上载文件${file:name}…”)
.至(目的地)
.log(“上载文件${file:name}已完成…”);

您需要告诉更多有关错误的详细信息,或者您看到的错误-无法连接。检查camel-spring redis的单元测试,这些测试可以向您展示如何进行:谢谢@ClausIbsen,这是AWS安全组的一个问题。我之前没有任何线索表明某个节点与现有安全组关联。我认为它可以通过VPC访问。你需要告诉更多关于错误的细节,或者你看到了什么-无法连接。检查camel-spring redis的单元测试,这些测试可以向您展示如何进行:谢谢@ClausIbsen,这是AWS安全组的一个问题。我之前没有任何线索表明某个节点与现有安全组关联。我认为它可以通过VPC访问。