管理 Apache Cayenne“...project.xml”文件的最佳实践

Best practice to manage Apache Cayenne "...project.xml" file

Apache Cayenne 在资源目录中保留了一个“...project.xml”文件。该文件包含数据库的密码。这是一个问题,因为 [部署服务器] 密码不应该对开发人员可见。此外,它需要是一个不同的 user/password 并在开发过程中连接到不同的数据库。

使用 Cayenne 时管理此“...project.xml”的最佳做法是什么?有什么建议吗?

编辑:

不是将数据库连接信息(包括密码)放入 XML 文件,是否可以通过编程将信息注入数据源对象?如果是这样,我可以在应用程序启动时从配置文件加载信息,然后注入它。

当然可以。有一个 "cayenne.jdbc.password" 属性 可用于在运行时定义数据源密码。它可以通过两种替代方式应用:

  1. 作为系统 属性 在命令行上:

    java -Dcayenne.jdbc.password=xxxxx

  2. 通过注入:

    ServerModule.contributeProperties(binder) .put(Constants.JDBC_PASSWORD_PROPERTY, "xxxxx");

这个和其他配置属性是 documented here