gpt4 book ai didi

java - Apache Cayenne defaultCatalog 由环境变量设置

转载 作者:行者123 更新时间:2023-12-01 18:42:58 34 4
gpt4 key购买 nike

我想在 Docker 容器中使用 Apache Cayenne Java Web 应用程序,因为有多个实例正在运行,我想通过环境变量自定义它们。现在我遇到的问题是,我正在使用一个中央数据库,每个实例/容器都有不同的目录。是否可以通过 env 设置 defaultCatalog (在 xxx.map.xml 中定义)。变量?

问候马库斯

最佳答案

Cayenne 中的“默认”目录仅控制分配给 Modeler 中新创建的 DbEntities 的目录,对运行时行为没有影响。

现在,在大多数数据库的运行时中,默认目录是通过连接 URL 控制的(即在 Cayenne 之外的 JDBC 级别)。例如。

jdbc:mysql://127.0.0.1/database
jdbc:postgresql://127.0.0.1/database

在 MySQL 和 Postgres 示例中,“database”是数据库名称(与目录相同)。

因此,您需要做的是将所有 Cayenne DbEntities 的目录保持为空(而不仅仅是 DataMap 的“默认”目录),然后使用适当的数据库名称为每个 Docker 容器指定连接 URL。控制此问题的一种方法是通过 -Dcayenne.jdbc.url startup property

关于java - Apache Cayenne defaultCatalog 由环境变量设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59885402/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com