2017-12-05 13 views
0

우리는 지원을 제공하기 위해 클라이언트가 선택한 Geode의 Pivotal 버전 인 Gemfire 8.1을 실행 중입니다. 현재 애플리케이션은 Spring Data Gemfire를 사용하므로 구성이 혼합되어 있습니다 client-config.xml과 Spring Beans 사이에서 올바르게 작동합니다.Geode regions는 항상 비어 있고 서버 측 데이터를 가져 오지 않습니다

데이터 조작을 돕기 위해 도구 응용 프로그램을 만들려고합니다. 처음에는 Go에서 수행하기를 원했지만 아직 Geode 플러그인이 준비되지 않았기 때문에 REST API를 제공하기 위해 환경을 혼란스럽게 피하는 것이 좋습니다.

저는 가능한 한 간단하게 Java에서 시작했습니다. Geode Core 종속성을 가지고 있습니다 (official sample에서 볼 수 있듯이). 그리고 코드에서 xml 구성을 transposing하고 있지만 어떤 조합으로도 얻을 수 없었습니다. 원격 키, 모든 지역은 항상 ALL_KEYS 관심을 등록해도 빈지도를 반환합니다.

로케이터 대신 로케이터 대신 서버에 직접 연결하려고했는데, 가입 여부와 상관없이 내 컴퓨터에서 코드를 실행하거나 심지어 서버 컴퓨터에서 코드를 실행하면 항상 동일한 결과가 나타납니다. 내가 CacheFactory.getAnyInstance().createClientRegionFactory(ClientRegionShortcut.PROXY).create("region-name")와 아직 registred 지역을 할당하려고 노력하고 난 오히려 EMPTYregion.getAttributes().getDataPolicy()을 획득 한 바대로 currenct 응용 프로그램 코드 (작업 하나없는이 도구), I는, 문제는이 지역에라고하는 경향입니다 디버깅

다른 지역은 NORMAL보다 커서 내 도구는 DataPolicy 인 모든 새 영역이 동일한 동작을 나타내며 EMPY이됩니다.

gfsh을 통해 연결하는 경우 서버 측 데이터를 처리하기 위해 gfsh과 스프링 데이터가 다른 일을하는 것이 궁금합니다.

gfsh과 동일한 응용 프로그램을 어떻게 간단하게 처리 할 수 ​​있습니까? 나는 단지 연결하고 일부 지역을 읽고 싶다.

+0

현재 초안 : https://pastebin.com/KybWL0Vd –

답변

0

ClientRegionShortcut.PROXY 사용 javadocs에서 설명한 바와 같이, 영역이 키를 클라이언트 측에서 국부적으로 저장되지 않은 그 이유는, 로컬 상태를 서버에 전달하는 모든 작업이없는 클라이언트가이 지역에 단지 데이터 접근이며 . 대신 과 유사하지만 로컬 상태가있는 ClientRegionShortcut. CACHING_PROXY을 사용해야합니다. 이 주제에 대한 자세한 내용은 Region Shortcuts and Custom Named Region Attributes에서 찾을 수 있습니다.

희망이 도움이됩니다.

건배.

+0

여전히 작동하지 않으며 로컬 범위와 일반 DataPolicy가 있으므로 작동하는 응용 프로그램이 동일한 지 확인합니다. –

+0

'ALL_KEYS' 관심사로 올바르게 작동했습니다. –

+0

'PROXY' 만 사용하는'entrySet()'또는'keySet()'대신'region.keySetOnServer()'와 함께 작동합니다. –