【问题标题】:How to configure spring-session with spring-boot WITHOUT Redis and without auto configuration to use another db store如何在没有 Redis 且没有自动配置的情况下使用 spring-boot 配置 spring-session 以使用另一个数据库存储
【发布时间】:2016-04-23 00:28:22
【问题描述】:

我想在没有 Redis 的情况下使用 spring-boot + spring-session,但使用 dynamodb 作为 sessionRepository 实现。

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

@Bean
    public TomcatEmbeddedServletContainerFactory tomcatEmbeddedServletContainerFactory(Environment env) {

        TomcatEmbeddedServletContainerFactory factory = new TomcatEmbeddedServletContainerFactory();

return factory;
}

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

所以我有几个问题。

1. 如何配置我的 spring-boot 项目,该项目具有明确定义的 TomcatEmbeddedServletContainerFactory bean 以使用 spring-session?

2. 我注意到 spring-session 与 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

【问题讨论】:

    标签: configuration spring-session


    【解决方案1】:

    我还为 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-session 与 Redis 和 Hazelcast 紧密结合 (仅此而已)。有没有反对使用像这样的商店 用于会话存储库 impl 的 amazon dynamodb?

    我们希望为不同的数据存储做出贡献(事实上,我们正在获得对 GemFire 的支持)。问题实际上更多是关于实施它们的时间。

    让我了解如何配置我想要实现的目标,但我一直遇到初始化异常。

    听起来您正在尝试我提供的一些建议。但是,除非您提供有关您遇到的异常的详细信息,否则我无法提供帮助。

    【讨论】:

    • 谢谢,问题是我需要用上面的配置添加一个[FilterRegistrationBean sessionRepositoryFilterRegistration(SessionRepositoryFilter springSessionRepositoryFilter)] Bean吗?还是会自动注册1并映射springSessionRepositoryFilter -> "/*" urls
    猜你喜欢
    • 2021-10-11
    • 2019-01-26
    • 2017-06-27
    • 2020-10-27
    • 2018-03-31
    • 2016-06-01
    • 2019-06-24
    • 2018-11-18
    • 2014-02-18
    相关资源
    最近更新 更多