Dan*_*Dan 0 spring spring-boot spring-session
我正在一起试验 Spring Boot 和 Spring 会话,特别是使用 JDBC。
只需在 application.properties 中添加以下行:
spring.session.store-type=jdbc
Run Code Online (Sandbox Code Playgroud)
让它正常工作,这很好,因为我碰巧在该文件中也有一些数据源属性,即
myapp.datasource.url=jdbc:mysql://localhost/etc...
myapp.datasource.driver-class-name=com.mysql.jdbc.Driver
Run Code Online (Sandbox Code Playgroud)
但我实际上是通过自己的配置将它们用于我自己的数据源,如下所示:
@Configuration
@PropertySource("classpath:credentials.properties")
public class DataSourceConfig {
@Primary
@Bean(name = "dataSource")
@ConfigurationProperties(prefix = "myapp.datasource")
public DataSource dataSource() {
return DataSourceBuilder.create().build();
}
}
Run Code Online (Sandbox Code Playgroud)
据我所知,Spring Session 正在创建自己的数据源,而不是使用我的数据源。有什么办法可以让它使用我的吗?(我的真实数据源有一些额外的配置,其中 Hikari 未在此处显示)
Spring Session 本身不会创建DataSource,而是使用应用程序上下文中存在的会话,如果它是:
DataSource豆子DataSource标记为@Primary另外,如果您希望使用特定DataSource的 Spring Session(例如,如果您DataSource的应用程序中有多个 s),您可以通过以下方式实现:
DataSource标记为指定用于 Spring Session @SpringSessionDataSource(Spring Session 2.0 及以上)JdbcTemplate使用所需的 beanDataSource并命名它springSessionJdbcOperations(Spring Session 1.x)Spring Session JDBC 配置功能和逻辑应该很容易从JdbcHttpSessionConfiguration.
| 归档时间: |
|
| 查看次数: |
3157 次 |
| 最近记录: |