我目前正在使用 Grails 2.2.2 和 MySQL 编写一个 Grails 应用程序,并将其部署到 Cloudfoundry。
直到最近,我才为我的域使用了一个 MySQL 数据源,Cloudfoundry 检测到它并自动创建并绑定一个 MySQL 服务实例。
我现在需要在某处存储潜在的大文件,所以我想看看 MongoDB 的 GridFS。Cloudfoundry 支持 MongoDB,所以我认为 Cloudfoundry 在我部署我的应用程序时会发挥更大的作用,并且还会为我提供 MongoDB 数据源。
不幸的是,当我部署我的应用程序时,没有提示我创建/绑定 MongoDB 服务,我认为这可能取决于我连接到 Mongo 的方式。
我没有使用 MongoDB 插件,因为这与我正在使用的另一个插件冲突,并且无论如何我不需要将我的任何域持久化到 Mongo - 只是一些大文件 - 所以我使用的是 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 服务?