【问题标题】:Riak for Grails Plugin - Failing to workRiak for Grails 插件 - 无法工作
【发布时间】: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


【解决方案1】:

我知道这并不能“回答问题”,但是对于当前的项目,由于类似的问题,我们决定放弃该插件,转而在服务类中直接使用 Spring Rest。我认为这种方法也适合您,因为您在顶部提到您没有尝试使用插件的 GORM 支持。

您应该会发现直接的 Spring Rest 方法相当容易实现,可以更好地控制 map reduce 并利用 2i。我还建议从尝试遵循 Basho 自己的 Java 客户端的 Riak 接口开始,这样如果您觉得需要性能优势,您可能会发现将来某个时候用 Basho 的 PBC 实现替换您的 Rest 实现会更容易。

关于 Riak 插件的特别说明:它似乎在不久前无限期搁置,而领导者 Jonathan Brisbin 似乎特别关注新的 Spring Data - 最近的 REST 项目 - 可能是关于Riak 插件会“跳出来”吗?

-托德

【讨论】:

    【解决方案2】:

    我也遇到了这个问题,发现这是因为默认配置是使用底层 RestTemplate 中的 DefaultErrorHandler。

    要让 RiakTemplate 在 404 上不会失败,您可以将属性 'ignoreNotFound' 设置为 true,它会再次工作。

    【讨论】:

      猜你喜欢
      • 2012-05-31
      • 1970-01-01
      • 2013-10-31
      • 2016-07-07
      • 2011-10-12
      • 2015-04-27
      • 2014-10-31
      • 2011-04-09
      • 2014-03-07
      相关资源
      最近更新 更多