9

私は Heroku で Spring 4 を評価していますが、これまでのところ両方に非常に感銘を受けています。

ただし、Spring Boot アプリを Heroku で実行するのに問題があります。Postgresql を除いて、すべて正常に動作しています (Connection Refusedエラーが発生するだけです)。

問題は確かに私がどのように設定しているかに関係していますDataSourceが、これまでのところ私は試行錯誤のアプローチに従っています! Heroku からデータ ソースをセットアップする方法がよくわからDATABASE_URLず、例も見つかりません。

Google で検索して偶然spring-cloudを見つけましたが、これは有望に見えますが、DATABASE_URL. また、Spring.IO でも言及されていないので、本番環境で使用するためのオプションでさえあるのだろうか?

4

5 に答える 5

2

しばらくこれに苦労した後に追加したいことの 1 つ - 構成オブジェクトを作成するだけでは、Heroku では十分ではありません。Spring クラウド コネクタを使用してもです。-Dspring.profiles.active=cloudまた、アプリケーションの Procfile で クラウド プロファイル ( ) を明示的に宣言する必要があります。

于 2015-09-22T18:12:16.067 に答える
2

常に存在する とは別にDATABASE_URL、Heroku は実行時に 3 つの環境変数を作成します。彼らです:

JDBC_DATABASE_URL
JDBC_DATABASE_USERNAME
JDBC_DATABASE_PASSWORD

ご存知かもしれませんが、Spring Boot は、ファイル内spring.datasource.*にプロパティが見つかった場合、データベースを自動的に構成しapplication.propertiesます。これが私のapplication.propertiesの例です

spring.datasource.url=${JDBC_DATABASE_URL}
spring.datasource.username=${JDBC_DATABASE_USERNAME}
spring.datasource.password=${JDBC_DATABASE_PASSWORD}
spring.jpa.show-sql=false
spring.jpa.generate-ddl=true
spring.jpa.hibernate.ddl-auto=update

Hibernate / Postgres の依存関係

私の場合、Hibernate を使用しています ( spring-boot-starter-jpaPostgreSQL にバンドルされているため、 build.gradle.

dependencies {
    compile("org.springframework.boot:spring-boot-starter-data-jpa")
    compile('org.postgresql:postgresql:9.4.1212')
}
于 2016-12-07T14:44:33.780 に答える