如何使用Spring-boot配置Spring-session WITHOUT Redis并且不使用自动配置来使用另一个db存储

时间:2016-01-17 22:25:01

标签: configuration spring-session

我想使用spring-boot + spring-session WITHOUT Redis但是使用dynamodb作为sessionRepository实现。

所有可用的示例都与Redis或Hazelcast紧密结合,并且主要是自动配置,以抽象出正在初始化的bean。而且,我的spring boot配置明确定义了

@Bean
    public TomcatEmbeddedServletContainerFactory tomcatEmbeddedServletContainerFactory(Environment env) {

        TomcatEmbeddedServletContainerFactory factory = new TomcatEmbeddedServletContainerFactory();

return factory;
}

我还为spring-session禁用了spring-boot autoconfiguration SessionAutoConfiguration.class

所以我有几个问题。

1。如何配置具有明确定义的TomcatEmbeddedServletContainerFactory bean的spring-boot项目以利用spring-session?

2. 我注意到春季会话与Redis和Hazelcast紧密结合(没有别的)。对于使用像amazon dynamodb这样的商店来讨论会话库impl?

是否有任何异议?

我在看https://github.com/spring-projects/spring-session/blob/master/spring-session/src/main/java/org/springframework/session/config/annotation/web/http/SpringHttpSessionConfiguration.java

让我知道如何配置我想要实现的内容但我仍然遇到初始化异常。如果有人能指出正确的方向,我会非常感激。

使用spring-session版本:1.1.0.M1

1 个答案:

答案 0 :(得分:3)

  

我还为spring-session禁用了spring-boot自动配置SessionAutoConfiguration.class。

如果你的类路径上没有Redis,则不需要禁用自动配置。

  

如何配置具有显式的spring-boot项目   定义了TomcatEmbeddedServletContainerFactory bean以利用它   弹簧会话?

1.1.0.M1参考讨论了如何使用@EnableSpringHttpSession执行此操作。例如:

@EnableSpringHttpSession
@Configuration
public class SpringHttpSessionConfig {
        @Bean
        public CusttomSessionRepository sessionRepository() {
                return new CusttomSessionRepository();
        }
}
  

我注意到Spring会话与Redis和Hazelcast紧密结合   (没有别的)。是否有任何反对使用像这样的商店   亚马逊dynamodb的会话存储库impl?

我们很乐意为不同的数据存储做出贡献(实际上我们正在获得对GemFire的支持)。问题更多的是时间来实现它们。

  

让我知道如何配置我想要实现的内容,但我一直在遇到初始化异常。

听起来你正在尝试我提供的一些建议。但是,除非您提供有关例外情况的详细信息,否则我无法提供帮助。