我的应用程序有 3 个组件,
1)面向用户的组件,接收请求并将其存储到数据库中 2) 后端组件从数据库读取数据、处理数据并将其发送到外部系统。 3)存储用户输入的数据库
我目前正在 Eclipse 的内存数据库(不是基于文件)中使用 H2 进行测试。
我想进行端到端测试,但问题是我已经停止面向用户的组件并启动后端组件。
因此,每次启动后端组件时,数据库都会从头开始创建。
如何测试才能使流程像这样:用户输入数据 -> 数据持久化到数据库 -> Baackend 连接到相同的持久化数据 -> 处理数据 + 传递到外部系统?
注意:我尝试使用 ddl-auto: update,但它不起作用。
除了
spring.jpa.hibernate.ddl-auto=update
之外,将 auto_reconnect 设置为 true。
示例:
spring.datasource.url=jdbc:h2:file:~/test2;DB_CLOSE_ON_EXIT=FALSE;AUTO_RECONNECT=TRUE
spring.datasource.driver-class-name=org.h2.Driver
该数据库支持多种连接方式和连接设置。这是通过使用不同的数据库 URL 来实现的。请参阅下面的链接以获取官方文档。
参考:https://www.h2database.com/html/features.html#database_url
内存中的数据库无法持久保存数据,因为每次重新加载应用程序时,内存都会被擦除。考虑使用数据库的磁盘存储(嵌入式模式)或基于云的存储(服务器模式)。