Spring Session JDB C - ошибка при использовании @Autowired Objects - PullRequest
1 голос
/ 27 февраля 2020

Чтобы сохранить сеансы в базе данных, я реализовал Spring Session JDB C, используя этот пример здесь . У меня проблемы с использованием @Autowired с областью действия сеанса: у меня Java Class Dump, как указано ниже:

public class Dump 
{
    private String someName;

    public Dump(){}

    public Dump(String someName) {
        this.someName = someName;
    }

    public String getSomeName() {
        return someName;
    }

    public void setSomeName(String someName) {
        this.someName = someName;
    }
}

И затем я регистрирую этот компонент в SESSION_SCOPE следующим образом:

@Configuration
public class DumpConfig{

    @Bean
    @Scope(value = WebApplicationContext.SCOPE_SESSION, proxyMode = ScopedProxyMode.TARGET_CLASS)
    public Dump getDump() {
        return new Dump();
    }

}

В контроллере я подключаю его и пытаюсь использовать:

@Controller
@RequestMapping("/")
public class HomeController {

    @Autowired
    private Dump dump;

    @GetMapping("/dump")
    @ResponseBody
    public String demo() {
        return dump.getSomeName();
    }
}

Когда я пытаюсь запустить, я получаю эту ошибку:

Failed to convert from type [java.lang.Object] to type [byte[]] for value 'Dump@35b2136e' nested exception is org.springframework.core.serializer.support.SerializationFailedException

1 Ответ

0 голосов
/ 02 марта 2020

Пожалуйста, обратитесь к видео по нижеприведенной ссылке (около 1:14), говорящий говорит, что эта проблема решена весной 3.0, предоставляя прокси не-сериализуемых компонентов, которые получают экземпляр из текущего контекста приложения ( на десериализацию).

https://www.infoq.com/presentations/Whats-New-in-Spring-3.0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...