Spring integrates redisson and reports an error when starting the project: caused by: java.lang.illegalargumentexception: River
package com.user.base.utils.redis.redisson;
import java.io.IOException;
import org.redisson.Redisson;
import org.redisson.api.RedissonClient;
import org.redisson.config.Config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* get redisson
* @author Administrator
*
*/
@Configuration
public class RedissonConfig {
/*
* SecondKillServiceImp.java
*/
@Bean/*(destroyMethod = "shutdown")*/
RedissonClient redisson(){ // throws IOException
Config config = new Config();
//config.useClusterServers().addNodeAddress("127.0.0.1:6379");
config.useSingleServer().setAddress("redis://127.0.0.1:64791");
//config.useClusterServers().addNodeAddress("redis://127.0.0.1:6379","redis://127.0.0.1:6380");
config.setCodec(new org.redisson.client.codec.StringCodec());
RedissonClient redissonClient = null;
try{
redissonClient = Redisson.create(config);
}catch(Exception e){
e.printStackTrace();
}
return redissonClient;
}
}
Solution: add
config.setCodec(new org.redisson.client.codec.StringCodec());
After adding this sentence, the exception is excluded.
//Specify the code. The default code is org.redisson.codec.jsonjacksoncode
// the previous spring data redis and the client jedis are encoded as org.springframework.data.redis.serializer.stringredisserializer
// after redisson is used, in order to ensure data compatibility between them, the code is modified to org.redisson.client.codec.stringcodec