現在、Grails 2.2.2 と MySQL を使用して Grails アプリを作成しており、それを Cloudfoundry にデプロイしています。
最近まで、Cloudfoundry がそれを検出し、MySQL サービス インスタンスを自動的に作成してバインドする単一の MySQL データソースをドメインに使用していました。
大きな可能性のあるファイルをどこかに保存する必要があるため、MongoDB の GridFS を検討することにしました。Cloudfoundry は MongoDB をサポートしているため、Cloudfoundry はアプリをデプロイするときにさらに魔法をかけてくれ、MongoDB データソースも提供してくれると思いました。
残念ながら、アプリをデプロイするときに MongoDB サービスを作成/バインドするように求められません。これは、Mongo への接続方法に起因する可能性があると思います。
これは私が使用している別のプラグインと競合するため、MongoDB プラグインは使用していません。いずれにせよ、ドメインを Mongo に永続化する必要はありません。 Java ドライバーを直接 (これに似ています - http://jameswilliams.be/blog/entry/171 )。
アプリケーションが特定のデータソースを必要とすることを Cloudfoundry がどのように検出するかはわかりませんが、DataSource.groovy から何らかの方法でこれを把握できると思っていました。
うちのはこんな感じ…
environments {
development {
dataSource {
driverClassName = "com.mysql.jdbc.Driver"
dbCreate = "create-drop"
...
}
dataSourceMongo {
host = "localhost"
port = 27017
dbName = "my_mongo_database_name"
...
}
}
}
足りないものはありますか?または、MongoDB サービスを何らかの方法で手動でバインドする必要がありますか?