具有Sentinel的Redisson客户端抛出异常

时间:2017-06-14 19:05:27

标签: java redis redisson

我正在使用具有以下配置的Redisson连接到Sentinel服务器:

Config config = new Config();
config.useSentinelServers().setMasterName("local")
            .addSentinelAddress("redis://localhost:26379", "redis://localhost:26380", "redis://localhost:26381");
RedissonClient client = Redisson.create(config);

当我运行此代码时,我得到以下错误,创建客户端:

Caused by: java.lang.IllegalArgumentException: port out of range:-1
    at java.net.InetSocketAddress.checkPort(InetSocketAddress.java:143)
    at java.net.InetSocketAddress.<init>(InetSocketAddress.java:224)
    at org.redisson.client.RedisClient.<init>(RedisClient.java:105)
    at org.redisson.connection.MasterSlaveConnectionManager.createClient(MasterSlaveConnectionManager.java:354)
    at org.redisson.connection.SentinelConnectionManager.<init>(SentinelConnectionManager.java:74)
    at org.redisson.config.ConfigSupport.createConnectionManager(ConfigSupport.java:258)
    at org.redisson.Redisson.<init>(Redisson.java:115)
    at org.redisson.Redisson.create(Redisson.java:154)

我想知道我是否遗漏了redisson配置中的任何内容,或者我的Sentinel服务器配置不正确。

2 个答案:

答案 0 :(得分:1)

为编辑维基时造成的混乱道歉。我应该说这是对最新版本的反思。

从上面的2.9.3和3.4.3开始,我们引入了对SSL的支持,然后需要指定URI方案以通知所需的连接类型。

答案 1 :(得分:0)

如果我更改原始配置如下,它现在正在运行:

{{1}}

它在文档中具有误导性,因为它的确如此。 https://github.com/redisson/redisson/wiki/2.-Configuration#271-sentinel-settings