多租户架构中的 JaVers

JaVers in multi tenant architecture

我需要将我的应用程序与 Java 集成。但是,我的应用程序是多租户的。 我正在尝试集成 JaVers mongodb。我成功地集成了 JaVers。但是,当应用程序启动时,JaVers 将其集合 jv_snapshots 和 jv_head_id 存储在 测试数据库 中。如果我删除测试数据库并再次启动应用程序,测试数据库仍然会自动创建并且测试数据库将由 JaVers 使用。

那么,我如何告诉 JaVers 在多租户架构中使用我自己的数据库?

如果您没有使用 Javers 的 Spring 启动器:

def mongoRepository = new MongoRepository(MongoClients.create().getDatabase("my_database"))
javers = javers().registerJaversRepository(mongoRepository).build()

如果您使用 Javers 的 Spring 引导程序,Javers 将自动连接到您的应用程序的数据库。

并且 Javers 中没有 tenant 的概念。您所能做的就是为每个租户创建一个 Javers 实例,或者更一般地说,为每个数据库配置创建一个 Javers 实例。