スプリング バックボーン webapp をブートストラップするためにresthubを使用しています。
https://github.com/resthub/resthub.github.io/blob/master/docs/spring/mongo.mdによると。これらには、デフォルトのデータベース プロパティ ファイルがすでにあります。
これまでのところ問題なく動作していますが、データベース名、ポート、その他の設定が異なるherokuにプロジェクトをデプロイする必要があります。
resthub によって提供されるデフォルトの db プロパティをオーバーライドするdatabase.properties
には、クラスパスに という名前のファイルを作成できます。しかし、そのファイルはherokuへの展開用にのみ選択したい.
デフォルトのdbプロパティを使用してintellijでローカルに動作するが、herokuのdatabase.propertiesを使用するように構成するにはどうすればよいですか。
Maven プロファイルについては既に読んだことがありますが、環境ごとに異なるファイルを使用する方法について説明しており、特定の環境用に特定のファイルを持たず、残りの jar ファイルの 1 つで提供されるデフォルトのファイルを使用することを探しています。
アップデート
spring.profiles.active で設定された複数の Spring の環境プロファイルがある場合の優先順位は何ですか?
resthub-mongodb
プロファイルは常に古いものであり、本番環境 ( で識別-Dprod=true
) の場合は、新しいプロファイルheroku
がロードされ、それが順番にロードされます。prod\database.properties
<context:property-placeholder location="classpath*:prod/database.properties"/>
しかし、mongo 関連の Bean はresthub-mongodb
& で定義されたプロパティを使用して既に定義されていると思います。そのため、読み込みheroku
プロファイルを読み込んで db プロパティを変更しても機能しません。
そのような場合の解決策は何ですか?
考えられる解決策
今のところ、プロファイルの 1 つを使用するかheroku
、resthub-mongodb
システム プロパティに依存することになりました。
他の方法はありますか?