【发布时间】:2012-08-07 00:47:17
【问题描述】:
我正在尝试配置和测试 Riak for Grails 插件。我通过在 BuildConfig 中删除它的依赖项来删除了 hibernate 插件。注意:我并没有尝试对 GORM 使用它——而只是使用 spring 数据支持进行查询。
我不得不添加以下两行以避免删除休眠后在运行时出错;
springConfig.addAlias "persistenceInterceptor", "riakPersistenceInterceptor"
springConfig.addAlias('transactionManager', 'riakTransactionManager')
项目编译良好,并运行。但是 - 一旦我尝试使用任何 Riak 方法,我通常会遇到 404 - 找不到对象错误,或者更难以捉摸的错误。
文档表明我可以使用自动接线服务;
import org.springframework.data.keyvalue.riak.core.RiakTemplate
class myClass {
// Service injection
def riakTemplate
def myMethod() {
riakTemplate.set("myBucket", "myKey", "A String")
}
}
但这不起作用。我试过了;
RiakTemplate riakTemplate = new riakTemplate("serviceurl", "mapredurl")
riakTemplate.set("myBucket", "myKey", "A String")
我的想法已经不多了。是否有指南或其他有助于此工作的东西?
值得注意的是,我在本地主机上运行了 Riak,而且我可以使用 Curl 轻松管理密钥。所以我认为这不是 Riak 的问题。
我可能遗漏了一些明显的东西。 :)
我正在运行 Grails 2.1.0。
谢谢!
【问题讨论】:
-
看来,如果我在存储桶名称下手动创建一个密钥(使用 curl),我正在尝试通过代码访问 - 事情开始工作了。因此,如果您使用 riakTemplate 在 NEW 存储桶下创建密钥,似乎会失败。如果它使用现有的存储桶 - 它可以正常工作。
-
标记那个。 set 方法似乎都不起作用,它们都出现 404 错误。但是 - 如果您使用 put 方法(即它们为您生成密钥),它们似乎可以工作。此外 - 例如,如果您运行“containsKey”方法,那么在不存在的键上总是会出现 404 错误 - 但在确实存在的键上会按预期工作。
标签: spring grails spring-data riak springsource