0

現在、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 サービスを何らかの方法で手動でバインドする必要がありますか?

4

1 に答える 1

0

コメントの代わりに回答を使用して、書式設定を改善します。:)

ここで述べたように、Cloudfoundry で MongoDB サービスを作成する手順を既に実行していると思います。それ以外の場合は、これを行う必要があります。さらに、MongoDB の Java Driver の Groovy ラッパーを使用すると、はるかに簡単になりますGMongo。詳細については、GitHUb ソースとこのMongo ブログを参照してください。

于 2013-05-01T19:12:48.633 に答える