3

40. Spring Integration

Spring Boot为使用Spring Integration提供了一些方便,引入spring-boot-starter-integration “Starter”,Spring Integration提供消息传递和其他传输(如HTTP、TCP和其他)的抽象,如果你的类路径上有Spring Integration,它通过@EnableIntegration注解初始化。

Spring Boot还配置了一些特性,这些特性是由额外的Spring Integration模块的存在触发的。如果spring-integration-jmx也在类路径中,则在JMX上发布消息处理统计信息,如果spring-integration-jdbc是有效的,则可以在启动时创建默认的数据库模式,如下所示:

spring.integration.jdbc.initialize-schema=always

有关详细信息,请参阅IntegrationAutoConfigurationIntegrationProperties类。

默认情况下,如果存在Micrometer meterRegistry bean,那么Spring Integration度量将由Micrometer管理,如果你希望使用遗留Spring Integration度量,请向应用程序上下文添加DefaultMetricsFactory bean。

41. Spring Session

Spring Boot为各种数据存储提供了Spring Session自动配置,在构建Servlet web应用程序时,可以自动配置以下存储:

  • JDBC
  • Redis
  • Hazelcast
  • MongoDB

在构建reactive web应用程序时,可以自动配置以下存储:

  • Redis
  • MongoDB

如果类路径中存在一个Spring Session模块,那么Spring Boot将自动使用该存储实现,如果你有多个实现,你必须选择你希望用来存储sessions的StoreType,例如,要使用JDBC作为后端存储,可以对应用程序进行如下配置:

spring.session.store-type=jdbc
你可以通过设置store-type=none来禁用Spring Session

每个存储都有特定的附加设置,例如,可以为JDBC存储定制表的名称,如下面的示例所示:

spring.session.jdbc.table-name=SESSIONS

对于设置会话的超时,你可以使用spring.session.timeout属性,如果没有设置该属性,那么自动配置将返回server.servlet.session.timeout的值。

42. 通过JMX监控和管理

Java管理扩展(JMX)提供了一种监控和管理应用程序的标准机制,默认情况下,Spring Boot创建了有一个ID的MBeanServer的bean,并公开了使用Spring JMX注解(@ManagedResource@ManagedAttribute@ManagedOperation)注解的任何bean。

有关更多细节,请参见JmxAutoConfiguration类。


上一篇:Quartz Scheduler

博弈
2.5k 声望1.5k 粉丝

态度决定一切