Рекомендации по управлению файлом Apache Cayenne project.xml

Apache Cayenne хранит файл "...project.xml" в каталоге ресурсов. Этот файл содержит пароль к базе данных. Это проблема, потому что пароль [сервера развертывания] не должен быть виден разработчикам. Кроме того, во время разработки потребуется другой пользователь/пароль и подключение к другой базе данных.

Как лучше всего управлять этим "...project.xml" при использовании Cayenne? Какие-либо предложения?

РЕДАКТИРОВАТЬ:

Вместо помещения информации о соединении с базой данных (включая пароль) в файл XML можно ли программно вставить информацию в объект DataSource? Если это так, я могу загрузить информацию из файла конфигурации при запуске приложения, а затем внедрить ее.


person ikevin8me    schedule 20.08.2017    source источник


Ответы (1)


Ну конечно; естественно. Существует свойство «cayenne.jdbc.password», которое можно использовать для определения пароля DataSource во время выполнения. Его можно применять двумя альтернативными способами:

  1. Как системное свойство в командной строке:

    java -Dcayenne.jdbc.password=xxxxx

  2. С помощью инъекции:

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

Это и другие свойства конфигурации задокументированы здесь.

person andrus_a    schedule 21.08.2017