Apache Cayenne在资源目录中保留“... project.xml”文件。该文件包含数据库的密码。这是一个问题,因为开发人员不应该看到[部署服务器]密码。此外,它需要是不同的用户/密码以及在开发期间与不同数据库的连接。
使用Cayenne时管理此“... project.xml”的最佳做法是什么?有什么建议吗?
编辑:
不是将数据库连接信息(包括密码)放入XML文件,而是是否可以以编程方式将信息注入DataSource对象?如果是这样,我可以在应用程序启动时从配置文件加载信息,然后将其注入。
答案 0 :(得分:1)
当然可以。有一个" cayenne.jdbc.password"可用于在运行时定义DataSource密码的属性。它可以以两种替代方式应用:
作为命令行上的系统属性:
java -Dcayenne.jdbc.password=xxxxx
通过注射:
ServerModule.contributeProperties(binder)
.put(Constants.JDBC_PASSWORD_PROPERTY, "xxxxx");
此配置属性为documented here。