Не удается зарегистрировать новый запрос CQ в Apache Geode

Я застрял на месте, пытаясь зарегистрировать запрос cq с помощью ClientCache. Все еще получаю это исключение:

CqService is not available.
java.lang.IllegalStateException: CqService is not available.
at org.apache.geode.cache.query.internal.cq.MissingCqService.start(MissingCqService.java:171)
at org.apache.geode.cache.query.internal.DefaultQueryService.getCqService(DefaultQueryService.java:777)
at org.apache.geode.cache.query.internal.DefaultQueryService.newCq(DefaultQueryService.java:486)

Кэш клиента создается следующим образом:

def client(): ClientCache = new ClientCacheFactory()
.setPdxPersistent(true)
.setPdxSerializer(new ReflectionBasedAutoSerializer(false, "org.geode.importer.domain.FooBar"))
.addPoolLocator(ConfigProvider.locator.host, ConfigProvider.locator.port)
.setPoolSubscriptionEnabled(true)
.create()

и предложенное решение не помогает. Актуальная версия библиотеки:

  "org.apache.geode" % "geode-core" % "1.0.0-incubating"

person dwarszawski    schedule 13.11.2016    source источник


Ответы (1)


Вам нужно будет использовать geode-cq в качестве зависимости. В градиенте

compile 'org.apache.geode:geode-cq:1.0.0-incubating'
person Swapnil    schedule 14.11.2016
comment
Спасибо за ответ, кажется разумным решением вставить другой модуль. Однако я только что переключился на обработчики событий, и они работают, как и ожидалось, без дополнительных зависимостей. - person dwarszawski; 15.11.2016