2012-08-07 7 views
0

Grails 플러그인 용 Riak을 구성하고 테스트하려고합니다. BuildConfig에서 종속성을 제거하여 최대 절전 모드 플러그 인을 제거했습니다. 참고 : 저는 이것을 GORM에 사용하려고 시도하지 않고 스프링 데이터 지원을 사용하여 쿼리합니다.Grails Plugin 용 Riak - 작동하지 않음

최대 절전 모드를 제거한 후 런타임에 오류가 발생하지 않도록 다음 두 줄을 추가해야했습니다.

springConfig.addAlias "persistenceInterceptor", "riakPersistenceInterceptor" 
springConfig.addAlias('transactionManager', 'riakTransactionManager') 

프로젝트가 올바르게 컴파일되어 실행됩니다. 그러나 Riak 방법 중 하나를 사용하려고하자마자 나는 대개 404 - Object not found 오류 또는 좀 더 애매한 것으로 끝납니다.

설명서 제안 autowired 서비스를 사용할 수 있습니다.

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을 실행 중입니다.

감사합니다.

+0

버킷 이름 아래에 수동으로 키 (컬 사용)를 생성하면 코드를 통해 액세스하려고 시도하는 것으로 나타납니다. 모든 작업이 시작됩니다. riakTemplate을 사용하여 NEW 버킷에서 키를 만드는 경우 실패합니다. 그것의 기존 버킷을 사용하는 경우 - 그것은 괜찮습니다. – Cadriel

+0

해당 플래그. 설정 한 방법 중 아무 것도 작동하지 않는 것으로 나타나며 모두 404 오류입니다.그러나 put 메소드를 사용하면 (즉, 키가 생성됩니다) 작동하는 것처럼 보입니다. 또한 'containsKey'메소드를 실행하면 예를 들어 존재하지 않는 키에 404 오류가 있지만 항상 존재하는 키에서 작동합니다. – Cadriel

답변

0

나는 '질문에 답하지 않는다'는 것을 알고 있지만, 현재 프로젝트에서 유사한 문제로 인해 스프링 클래스를 서비스 클래스에서 직접 사용하기 위해 플러그인을 포기하기로 결정했습니다. 나는 플러그인의 GORM 지원을 사용하려고하지 않는다는 것을 맨 위에서 언급 했으므로이 접근법이 잘 작동 할 것이라고 생각합니다.

지도 축소와 2i 활용을 효과적으로 제어하여 구현하기 쉬운 스프링 휴식 접근법을 직접 찾아야합니다. Basho 자신의 Java 클라이언트를 따르려고 시도하는 Riak 인터페이스로 시작하는 것이 좋습니다. 그러면 성능 이점이 필요하다고 생각되면 나중에 Basho의 PBC 구현으로 Rest 구현을 쉽게 대체 할 수 있습니다.

Riak 플러그인에 대한 특별한주의 사항 : 얼마 전에 무기한 보류에 간 것 같습니다, 리드, 조나단 Brisbin는, 특히 새 봄 데이터에 초점을 맞추고있는 것 같다 - REST 프로젝트 최근에 - 어쩌면 새로운 일에 Riak 플러그인이 '튀어 나올'것입니까?

-Todd

0

나뿐만 아니라이 문제를 공격하고 기본 구성은 기본 RestTemplate에 DefaultErrorHandler을 사용하는 것입니다 때문이다 발견되었다.

404에서 RiakTemplate이 실패하지 않게하려면 'ignoreNotFound'속성을 true로 설정하면 다시 작동합니다.