0

RiakforGrailsプラグインを構成してテストしようとしています。BuildConfigで依存関係を削除することにより、休止状態プラグインを削除しました。注:私はこれをGORMに対して使用しようとはしていませんが、Springデータサポートを使用してクエリを実行するだけです。

休止状態を削除した後の実行時のエラーを回避するために、次の2行を追加する必要がありました。

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の問題ではないと思います。

明らかな何かが欠けている可能性があります。:)

Grails2.1.0を実行しています。

ありがとうございました!

4

2 に答える 2

0

私もこの問題に見舞われましたが、デフォルトの構成では、基になる RestTemplate で DefaultErrorHandler を使用することが原因であることがわかりました。

RiakTemplate が 404 で失敗しないようにするには、プロパティ 'ignoreNotFound' を true に設定すると、再び機能するようになります。

于 2013-04-09T12:57:22.180 に答える
0

これが「質問に答える」ものではないことはわかっていますが、現在のプロジェクトでは、サービス クラスで直接 Spring Rest を使用することを支持して、同様の問題のためにプラグインを放棄することにしました。プラグインの GORM サポートを使用しようとしていないと冒頭で述べているので、このアプローチはあなたにとってもうまくいくと思います。

Map Reduce をより細かく制御し、2i を活用することで、Spring Rest の直接的なアプローチを実装するのはかなり簡単であることがわかるはずです。また、Basho 独自の Java クライアントに従おうとする Riak インターフェースから始めることをお勧めします。これにより、将来、パフォーマンス上の利点が必要だと感じた場合に、Rest 実装を Basho の PBC 実装に簡単に置き換えることができるようになります。

Riak プラグインに関する特定の注意事項: 少し前に無期限に保留になったようで、リーダーの Jonathan Brisbin は最近、新しい Spring Data - REST プロジェクトに特に焦点を当てているようです - おそらく Riak プラグインの新しい作業はこれから「湧く」?

-トッド

于 2012-08-17T16:26:13.877 に答える