I am trying to made spring boot app that is reading data from redis cache. But I can not.
Firstly I am calling post api to create user and then I am calling get api to getUserById
but I am getting error like this:
java.lang.ClassNotFoundException:com.umut.redis.redisExample.Model.UserEntity atjava.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)~[na:na] atjava.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)~[na:na] atjava.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)~[na:na] at java.base/java.lang.Class.forName0(Native Method)~[na:na] at java.base/java.lang.Class.forName(Class.java:398)~[na:na] atorg.springframework.boot.devtools.restart.classloader.RestartClassLoader.loadClass(RestartClassLoader.java:145)~[spring-boot-devtools-2.5.6.jar:2.5.6] atjava.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)~[na:na] at java.base/java.lang.Class.forName0(Native Method)~[na:na]
I am running docker container to redis.
@Configuration@EnableCachingpublic class RedisCacheConfiguration { @Bean JedisConnectionFactory jedisConnectionFactory() { JedisConnectionFactory jedisConFactory = new JedisConnectionFactory(); jedisConFactory.setHostName("localhost"); jedisConFactory.setPort(6379); return jedisConFactory; } @Bean public RedisTemplate<String, Object> redisTemplate() { RedisTemplate<String, Object> template =new RedisTemplate<>(); template.setHashValueSerializer(new StringRedisSerializer()); template.setConnectionFactory(jedisConnectionFactory()); return template; }}@Servicepublic class UserServiceImpl implements IUserService{ private final UserRepository userRepository; public UserServiceImpl(UserRepository userRepository) { this.userRepository = userRepository; } public UserDto createUser(CreateUserRequest createUserRequest){ UserEntity userEntity = new UserEntity(); userEntity.setName(createUserRequest.getName()); userEntity.setSurname(createUserRequest.getSurname()); userRepository.save(userEntity); return UserMapper.INSTANCE.userEntityToUserDto(userEntity); } @Cacheable(value= "user", key = "#userId") public UserDto getUserById(Long userId){ System.out.println("getuserbyid içerisi"); UserEntity userEntity = userRepository.getById(userId); return UserMapper.INSTANCE.userEntityToUserDto(userEntity); }}