SpringBoot集成redisson单机模式,linux发布报错port out of range:-1

1、引用redisson的pom

<dependency>
	<groupId>org.redisson</groupId>
	<artifactId>redisson</artifactId>
	<version>3.8.2</version>
</dependency>

2、配置yml文件

redisson:
  address: redis://服务器ip:6379
  password: redis密码

3、redisson属性装配类

import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;

@Configuration
@ConfigurationProperties(prefix = "redisson")
@ConditionalOnProperty("redisson.password")
public class RedissonProperties {
    private int timeout = 3000;

    private String address;

    private String password;

    private int connectionPoolSize = 64;

    private int connectionMinimumIdleSize=10;

    private int slaveConnectionPoolSize = 250;

    private int masterConnectionPoolSize = 250;

    private String[] sentinelAddresses;

    private String masterName;

    public int getTimeout() {
        return timeout;
    }

    public void setTimeout(int timeout) {
        this.timeout = timeout;
    }

    public int getSlaveConnectionPoolSize() {
        return slaveConnectionPoolSize;
    }

    public void setSlaveConnectionPoolSize(int slaveConnectionPoolSize) {
        this.slaveConnectionPoolSize = slaveConnectionPoolSize;
    }

    public int getMasterConnectionPoolSize() {
        return masterConnectionPoolSize;
    }

    public void setMasterConnectionPoolSize(int masterConnectionPoolSize) {
        this.masterConnectionPoolSize = masterConnectionPoolSize;
    }

    public String[] getSentinelAddresses() {
        return sentinelAddresses;
    }

    public void setSentinelAddresses(String sentinelAddresses) {
        this.sentinelAddresses = sentinelAddresses.split(",");
    }

    public String getMasterName() {
        return masterName;
    }

    public void setMasterName(String masterName) {
        this.masterName = masterName;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public int getConnectionPoolSize() {
        return connectionPoolSize;
    }

    public void setConnectionPoolSize(int connectionPoolSize) {
        this.connectionPoolSize = connectionPoolSize;
    }

    public int getConnectionMinimumIdleSize() {
        return connectionMinimumIdleSize;
    }

    public void setConnectionMinimumIdleSize(int connectionMinimumIdleSize) {
        this.connectionMinimumIdleSize = connectionMinimumIdleSize;
    }

}

4、SpringBoot自动装配类

import org.apache.commons.lang.StringUtils;
import org.redisson.Redisson;
import org.redisson.api.RedissonClient;
import org.redisson.config.Config;
import org.redisson.config.SingleServerConfig;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
@ConditionalOnClass(Config.class)
@EnableConfigurationProperties(RedissonProperties.class)
public class RedissonAutoConfiguration {


    @Autowired
    private RedissonProperties redissonProperties;

    /***
     * @Description 单机模式自动装配
     * @return
     */
    @Bean
    @ConditionalOnProperty(name = "redisson.address")
    RedissonClient redissonSingle(){
        Config config = new Config();
        SingleServerConfig serverConfig = config.useSingleServer()
                .setAddress(redissonProperties.getAddress())
                .setTimeout(redissonProperties.getTimeout())
                .setConnectionPoolSize(redissonProperties.getConnectionPoolSize())
                .setConnectionMinimumIdleSize(redissonProperties.getConnectionMinimumIdleSize());
        if(StringUtils.isNotBlank(redissonProperties.getPassword())) {
            serverConfig.setPassword(redissonProperties.getPassword());
        }
        return Redisson.create(config);
    }

}

5、发布,碰到一个报错 port out of range:-1,仔细检查配置文件发现yml中 address: redis://服务器ip:6379 写成了 redis://服务器ip,少写了端口号导致。。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这个错误信息通常表示一个端口号超出了合法范围。端口号的合法范围是从0到65535。如果一个程序尝试使用超出这个范围的端口号,就会出现这个错误信息。如果你遇到了这个错误,可以检查一下程序中使用的端口号是否合法,或者尝试使用一个合法的端口号。 ### 回答2: "port out of range:-1"这个错误信息通常出现在网络编程中,表示端口号超出了有效范围。在计算机网络中,端口号的范围是从0到65535,其中0~1023为系统保留端口,一般用于常见的服务和协议,而1024~65535是可供自由使用的端口范围。 当出现"port out of range:-1"的错误提示时,说明程序指定的端口号小于0,超出了有效范围。端口号必须是一个大于等于0的非负整数。 解决这个问题的方法是检查代码中指定的端口号,确保其在有效范围内。如果代码中没有指定端口号,可能是其他问题导致了该错误,此时可以考虑检查网络设备的配置或更换端口进行尝试。 在进行网络编程时,需要注意选择合适的端口号,避免使用系统保留的端口,以免与其他服务冲突。同时,还需要确保端口号在合法的范围内,以保证程序的正常运行。如遇到端口超出范围的错误,应及时排查原因并进行修复。 ### 回答3: "Port out of range: -1" 是一个错误信息,表示端口超出范围,数值为-1。在计算机中,端口是用来标识网络应用程序的通信终点的数字。端口范围从0到65535,其中0到1023是一些预留端口,用于一些特定的网络服务。 当出现"Port out of range: -1"的错误信息时,意味着所指定的端口数值为-1,这是不合法的。理论上,端口的取值应该在0到65535之间。 可能导致此错误的原因有多种。首先,有可能是在配置网络应用程序时,错误地指定了一个负数的端口数值。其次,可能是应用程序的代码中出现了错误,导致端口数值被设置为了-1。还有一种情况是,可能是由于操作系统或网络设备的故障引起的,导致端口数值出现异常。 要解决这个问题,我们可以尝试以下几个步骤。首先,检查应用程序的配置文件,确保正确地指定了端口数值。其次,检查应用程序的代码,并查找是否有设置端口数值为-1的错误。最后,如果这仍然无法解决问题,可以尝试重启操作系统或网络设备,以清除可能存在的故障。 总之,"Port out of range: -1"错误信息表示指定的端口数值超出了合法范围,应该通过检查配置、代码或重启设备来解决问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值