9. 附录
附录 A:Spring 模数配置属性
| 财产 | 默认值 | 描述 |
|---|---|---|
|
|
是否为异步处理终止配置默认值,即等待任务完成 2 秒。看 |
|
|
是否初始化 JDBC 事件发布架构。 |
|
|
是否自动为 MongoDB 启用事务。要求使用副本集运行数据库。 |
|
|
是否启用 |
|
|
要发布的事件的粒度。( |
|
|
这 |
|
|
要发布的事件的日期的时区。 |
|
|
是否在应用程序重新启动时重新发布未完成的事件发布。 |
附录 B:Spring Modulith 模块
| 起动机 | 典型范围 | 包括 |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 模块 | 典型范围 | 描述 |
|---|---|---|
|
|
一个 Spring Boot 执行器,用于通过 Actuator 公开应用程序模块结构。 |
|
|
要在 生产代码中用于自定义 Spring Modulith 的默认行为的抽象。 |
|
|
核心应用程序模块模型和 API。 |
|
|
这 |
|
|
事件发布注册表的核心实现以及集成抽象 |
|
|
基于 Jackson 的 |
|
|
基于 JDBC 的 |
|
|
基于 JPA 的 |
|
|
基于 MongoDB 的 |
|
|
此处介绍了 Passage of Time 事件实现。 |
|
|
支持引导 |
|
|
可观测性基础设施。 |
附录 C:事件发布注册表架构
基于 JDBC 的事件发布注册表支持要求数据库中存在以下数据库架构。
如果您希望 Spring Modulith 为您创建模式,请设置 application 属性spring.modulith.events.jdbc-schema-initialization.enabled自true.
9.C.1.H2 系列
CREATE TABLE IF NOT EXISTS EVENT_PUBLICATION
(
ID UUID NOT NULL,
COMPLETION_DATE TIMESTAMP(9) WITH TIME ZONE,
EVENT_TYPE VARCHAR(512) NOT NULL,
LISTENER_ID VARCHAR(512) NOT NULL,
PUBLICATION_DATE TIMESTAMP(9) WITH TIME ZONE NOT NULL,
SERIALIZED_EVENT VARCHAR(4000) NOT NULL,
PRIMARY KEY (ID)
)
9.C.2.HSQLDB 数据库
CREATE TABLE IF NOT EXISTS EVENT_PUBLICATION
(
ID UUID NOT NULL,
COMPLETION_DATE TIMESTAMP(9),
EVENT_TYPE VARCHAR(512) NOT NULL,
LISTENER_ID VARCHAR(512) NOT NULL,
PUBLICATION_DATE TIMESTAMP(9) NOT NULL,
SERIALIZED_EVENT VARCHAR(4000) NOT NULL,
PRIMARY KEY (ID)
)
9.C.3.MySQL (MySQL的
CREATE TABLE IF NOT EXISTS EVENT_PUBLICATION
(
ID VARCHAR(36) NOT NULL,
LISTENER_ID VARCHAR(512) NOT NULL,
EVENT_TYPE VARCHAR(512) NOT NULL,
SERIALIZED_EVENT VARCHAR(4000) NOT NULL,
PUBLICATION_DATE TIMESTAMP(6) NOT NULL,
COMPLETION_DATE TIMESTAMP(6) DEFAULT NULL NULL,
PRIMARY KEY (ID)
)
附录 D:从 Moduliths 迁移
-
o.m.model.Modules已重命名为o.s.m.model.ApplicationModules -
o.m.model.ModuleDetectionStrategy已重命名为o.s.m.model.ApplicationModuleDetectionStrategy -
@o.m.test.ModuleTest已重命名为@o.s.m.test.ApplicationModuleTest -
o.m.docs.Documenter.Options已重命名为o.s.m.docs.Documenter.DiagramOptions -
组件图的图表样式现在默认为
DiagramStyle.C4(通过调用DiagramOptions.withStyle(DiagramStyle.UML)) -
默认情况下,模块 canvas 会隐藏未公开的类型。 要在画布中包含 application-module-internal 类型,请配置
CanvasOptions自….revealInternals(). -
组件图和应用程序模块 canvases 的输出文件夹已从
moduliths-docs自spring-modulith-docs位于构建的目标文件夹(例如target对于 Maven)。