Не удалось сохранить данные в хранилище данных Redis — Весенняя загрузка

#java #spring-boot #redis #spring-data-redis

#java #весенняя загрузка #redis #spring-data-redis

Вопрос:

У меня проблема с сохранением данных в хранилище Redis. Redis настроен в dockerized. Я должен упомянуть, что соединение с Redis успешно открыто, и запрос данных работает отлично — проблем вообще нет, но когда я пытаюсь сохранить данные, возникает исключение, описанное ниже.

Исключение:

 org.springframework.data.keyvalue.core.UncategorizedKeyValueException: nested exception is java.lang.NullPointerException
at org.springframework.data.keyvalue.core.KeyValuePersistenceExceptionTranslator.translateExceptionIfPossible(KeyValuePersistenceExceptionTranslator.java:49)
at org.springframework.data.keyvalue.core.KeyValueTemplate.resolveExceptionIfPossible(KeyValueTemplate.java:484)
at org.springframework.data.keyvalue.core.KeyValueTemplate.execute(KeyValueTemplate.java:379)
at org.springframework.data.keyvalue.core.KeyValueTemplate.update(KeyValueTemplate.java:209)
at org.springframework.data.keyvalue.repository.support.SimpleKeyValueRepository.save(SimpleKeyValueRepository.java:99)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  

Модель:

 @RedisHash("TaskSubscriber")
public class TaskSubscriber implements Serializable {

    private static final long serialVersionUID = 20190329202800L;

    private String id;
    private String destination;
    private String username;

    @SuppressWarnings("unused")
    public TaskSubscriber() { }

    public TaskSubscriber(String sessionId, String destination, String username)
    {
        this.id = sessionId;
        this.destination = destination;
        this.username = username;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getDestination() {
        return destination;
    }

    public void setDestination(String destination) {
        this.destination = destination;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }
}
  

Репозиторий:

 @Repository
public interface TaskSubscriberRepository extends JpaRepository<TaskSubscriber, String> {

    List<TaskSubscriber> findAllByDestination(String destination);

    List<TaskSubscriber> findAllByUsername(String username);
}
  

В классе обслуживания я просто вызываю метод save из репозитория TaskSubscriber, передавая модель TaskSubscriber с данными.

У кого-нибудь есть идея, как это исправить? Заранее благодарю вас.

Комментарии:

1. Есть ли у исключения основная причина (причины). Похоже, что в нем может не хватать данных.

2. Вот полная трассировка стека: heypasteit.com/clip/0IS923

3. Какую версию Spring Boot вы используете?

4. Весенняя загрузка — 1.4.0.ВЫПУСК Redis-Client: 2.9.0 весенняя загрузка-starter-data-redis: 2.0.6.ВЫПУСК

5. Весенняя загрузка 1.4.0, но Redis Starter 2.0.6? Я бы подумал, что обе они должны быть одной и той же версии, нет?