Primefaces / Joinfaces JSF приложение в Spring-Boot.
Приложение работает нормально, работает автономно, но я недавно начал внедрять репликацию сеансов через Spring-Session.Когда сеанс сохраняется в хранилище сеансов, я получаю исключение, не сериализуемое.
Причина: java.io.NotSerializableException: com.company.application.service.dao.security.RoleBasedSecurityDao $$EnhancerBySpringCGLIB $$ 9de506c
Глядя на это сообщение об ошибке, похоже, что исключение сериализации относится не к самому классу, а к чему-то, принадлежащему классу.Единственное, что у него есть, - это JDBCTemplate.
@Repository
public class RoleBasedSecurityDao {
private final static Logger log = LoggerFactory.getLogger(RoleBasedSecurityDao.class);
private NamedParameterJdbcTemplate jdbcTemplate;
@Autowired
@Qualifier("dataSource")
public void setDataSource(DataSource dataSource) {
jdbcTemplate = new NamedParameterJdbcTemplate(dataSource);
}
[...]
}
Если я добавлю «реализацию Serializable» в определение класса, ошибка изменится:
Причина: java.io.NotSerializableException: org.springframework.dao.support.PersistenceExceptionTranslationInterceptor
Я не знаком с JSF, но из того, что я прочитал, ожидается, что все ваши классы JSF являются сериализуемыми.Как я могу сделать сериализуемый мой DAO, когда ему нужен экземпляр JdbcTemplate?