1

AWS Elastic Beanstalk で grails アプリケーションを実行しています。コマンド ライン パラメーターを介して DB 認証資格情報を渡し、System.getProperty() を介してそれらを取得します。grails 2.3.x の DataSource.groovy では、次のように動作しました。

environments {
development {
    dataSource {
        dbCreate = "create-drop" // one of 'create', 'create-drop', 'update', 'validate', ''
        driverClassName = "org.postgresql.Driver"
        dialect = "net.kaleidos.hibernate.PostgresqlExtensionsDialect"
        url = System.getProperty("JDBC_CONNECTION_STRING")
        username = System.getProperty("PARAM1")
        password = System.getProperty("PARAM2")
    }
}
}

grails 2.4.x では、フィールド url、username、および password が PostgreSQL ドライバーによって評価されるときに、System.getProperty() メソッドの評価結果ではなく、デフォルト値が返されます。as String を明示的にキャストすると、状況が改善されるようです。

environments {
development {
    dataSource {
        dbCreate = "create-drop" // one of 'create', 'create-drop', 'update', 'validate', ''
        driverClassName = "org.postgresql.Driver"
        dialect = "net.kaleidos.hibernate.PostgresqlExtensionsDialect"
        url = System.getProperty("JDBC_CONNECTION_STRING") as String
        username = System.getProperty("PARAM1") as String
        password = System.getProperty("PARAM2") as String
    }
}
}
4

0 に答える 0