0

grailsアプリをcloudfoundryにデプロイするときに、マルチデータソースを定義すると、エラーが発生します: 接続URL「n/a」のクラス「org.postgresql.Driver」のJDBCドライバーを作成できません

   dataSource {
      dialect = "org.hibernate.dialect.MySQLInnoDBDialect"
      driverClassName = 'com.mysql.jdbc.Driver'
      username = 'n/a'
      password = 'n/a'
      url = 'n/a'
      dbCreate = 'update'
   }
   dataSource_postgre {
       dialect = "org.hibernate.dialect.PostgresPlusDialect"
       driverClassName = "org.postgresql.Driver"
       username = 'n/a'
       password = 'n/a'
       url = "n/a"
       dbCreate = 'update'
    }

しかし、私がhttp://blog.springsource.com/2011/04/12/one-step-deployment-with-grails-and-cloud-foundry/から知って いるように、次のようになります。

Cloud Foundryでサービスをアプリケーションにバインドすると、実行時にそのサービスの接続設定をアプリケーションに渡すようにクラウドに指示します。次に、Cloud Foundryプラグインはその情報を取得し、アプリケーションの接続設定をオーバーライドします。まるで魔法のように、アプリケーションは何もしなくてもクラウドサービスに対して透過的に機能します。そして、これはMySQLだけでなく、利用可能なすべてのサービスで機能します

4

2 に答える 2

1

CloudFoundry はデータ ソースを再構成し、ローカルの DataSource 定義を置き換えます。必要なサービスについて CloudFoundry に通知する方法は、CaldecottコマンドまたはCloud Foundry Integration for STSを使用したvmc Tunneling を使用して CF と対話することです。

于 2013-01-11T08:42:49.693 に答える
0

可能であれば、VMC を使用してアプリケーションのログを確認してください。staging.log には、自動構成されたサービスの概要が表示されます。

これが 2 つのサービスで可能かどうかを確認する必要があります。VCAP_SERVICES 環境変数を使用して、1 つを手動で構成する必要がある場合があります。

于 2013-01-11T11:47:48.590 に答える