2016-07-25 3 views
0

Apache Geode에서 지속적인 쿼리를 작성하려고합니다. 하지만 난하여 QueryService를 생성하고 그것은 좋은 것 CQgeode에서 연속 쿼리를 생성 할 수 없습니다.

에 대한
@Bean 
    QueryService getQueryService() throws CqException, QueryInvalidException, CqExistsException, CqClosedException, RegionNotFoundException{ 
      ClientCache cache =appContext.getBean(ClientCache.class); 

      QueryService qservice= cache.getQueryService(); 

      CqAttributesFactory cqf = new CqAttributesFactory(); 
      cqf.addCqListener(new CqListener() { 

      @Override 
      public void close() { 
       // TODO Auto-generated method stub 

      } 

      @Override 
      public void onEvent(CqEvent aCqEvent) { 
       // TODO Auto-generated method stub 
       System.out.println("Event Recieved !"); 
      } 

      @Override 
      public void onError(CqEvent aCqEvent) { 
       // TODO Auto-generated method stub 

      } 
     }); 
      CqQuery studentTracker=qservice.newCq("StudentQuery","SELECT name from /Student where rollNo==0",cqf.create()); 

//  qservice.executeCqs("/Student"); 
      studentTracker.execute(); 
//  System.out.println(qservice.getCqStatistics().numCqsActive()+" *****************"); 
      studentTracker.close(); 
      return qservice; 
    } 

를 등록 해 사용하고 코드를 검색

create region --name=Student --type=REPLICATE --enable-statistic=true --enable-subscription-conflation=true 

를 사용하여 내 영역을 만든

Caused by: java.lang.IllegalStateException: CqService is not available. 
    at com.gemstone.gemfire.cache.query.internal.cq.MissingCqService.start(MissingCqService.java:171) ~[gemfire-core-1.0.0-incubating.M1.jar:na] 
    at com.gemstone.gemfire.cache.query.internal.DefaultQueryService.getCqService(DefaultQueryService.java:810) ~[gemfire-core-1.0.0-incubating.M1.jar:na] 
    at com.gemstone.gemfire.cache.query.internal.DefaultQueryService.newCq(DefaultQueryService.java:595) ~[gemfire-core-1.0.0-incubating.M1.jar:na] 
    at com.gemfirepo.GedoeConfiguration.getQueryService(GedoeConfiguration.java:79) ~[classes/:na] 
    at com.gemfirepo.GedoeConfiguration$$EnhancerBySpringCGLIB$$9bd68b16.CGLIB$getQueryService$1(<generated>) ~[classes/:na] 
    at com.gemfirepo.GedoeConfiguration$$EnhancerBySpringCGLIB$$9bd68b16$$FastClassBySpringCGLIB$$5b2bc172.invoke(<generated>) ~[classes/:na] 
    at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228) ~[spring-core-4.2.7.RELEASE.jar:4.2.7.RELEASE] 
    at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:356) ~[spring-context-4.2.7.RELEASE.jar:4.2.7.RELEASE] 
    at com.gemfirepo.GedoeConfiguration$$EnhancerBySpringCGLIB$$9bd68b16.getQueryService(<generated>) ~[classes/:na] 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_45] 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_45] 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_45] 
    at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_45] 

예외 아래 얻기 누군가가 Gemfire Continuous Query에 대한 작업 예제를 공유 할 수 있다면 도움이됩니다.

+0

질문에 대한 답변 (http://markmail.org/search/?q=list%3Aorg.apache.geode.user+ % 3 대진 - 뒤로 # 쿼리 : 목록 % 3Aorg.apache.geode.user % 20order % 3 대치 + 페이지 : 1 + 중간 : 34bjwd4k3uoiy43z + 상태 : 결과) 및 답변 (http://markmail.org/search/? q = list % 3Aorg.apache.geode.user + order % 3Adate-backward # query : 목록에 % 3Aorg.apache.geode.user % 20order % 3 대문자로 뒤로 + 페이지 : 1 + 중간 : f5xebg7jpuuhxo4e + 상태 : 결과) 지오 데 사용자의 메일 링리스트. –

답변

0

위의 Geode 사용자 목록에서 문제에 대한 답변. Geode의 잘못된 버전을 사용하고 계시므로 연속 쿼리 기능이 M2 출시 이후에 지원됩니다.