-
Bug
-
Resolution: Obsolete
-
Major
-
None
-
8.1.1.Final
-
None
The ContinuousQueryListener accepts only a query string and not the QueryRequest object which can have some parameters specified. Example:
param.Name = "surnameParam"; WrappedMessage wm = new WrappedMessage(); wm.WrappedString = "Doe"; param.Value = wm; QueryRequest qr = new QueryRequest(); qr.QueryString = "from sample_bank_account.User u where u.surname = :surnameParam)"; qr.NamedParameters.Add(param); ... = new Event.ContinuousQueryListener<int, User>(qr.QueryString); // <<----only string here
When I later change the query by passing a different value for this parameter it will not be reflected in the continuous query.
Passing just the query string results in the following error on server side:
ERROR [org.infinispan.server.hotrod.CacheDecodeContext] (HotRod-ServerWorker-5-1) ISPN005003: Exception reported: java.lang.IllegalStateException: Missing value for parameter ageParam 4: at org.infinispan.objectfilter.impl.syntax.ConstantValueExpr.getConstantValueAs(ConstantValueExpr.java:79) 4: at org.infinispan.objectfilter.impl.predicateindex.be.BETreeMaker.makePredicateNode(BETreeMaker.java:87) 4: at org.infinispan.objectfilter.impl.predicateindex.be.BETreeMaker.preorderTraversal(BETreeMaker.java:69) 4: at org.infinispan.objectfilter.impl.predicateindex.be.BETreeMaker.make(BETreeMaker.java:53) 4: at org.infinispan.objectfilter.impl.FilterRegistry.addFilter(FilterRegistry.java:98) 4: at org.infinispan.objectfilter.impl.BaseMatcher.registerFilter(BaseMatcher.java:206) 4: at org.infinispan.query.dsl.embedded.impl.BaseJPAFilterIndexingServiceProvider.registerListenerInvocations(BaseJPAFilterIndexingServiceProvider.java:100) 4: at org.infinispan.notifications.cachelistener.CacheNotifierImpl$DelegatingCacheInvocationBuilder.registerListenerInvocations(CacheNotifierImpl.java:1370) 4: at org.infinispan.notifications.cachelistener.CacheNotifierImpl.addFilteredListener(CacheNotifierImpl.java:1061) 4: at org.infinispan.cache.impl.CacheImpl.addFilteredListener(CacheImpl.java:722) 4: at org.infinispan.cache.impl.AbstractDelegatingCache.addFilteredListener(AbstractDelegatingCache.java:462) 4: at org.infinispan.cache.impl.AbstractDelegatingCache.addFilteredListener(AbstractDelegatingCache.java:462) 4: at org.infinispan.cache.impl.AbstractDelegatingCache.addFilteredListener(AbstractDelegatingCache.java:462) 4: at org.infinispan.server.hotrod.ClientListenerRegistry.addCacheListener(ClientListenerRegistry.java:207) 4: at org.infinispan.server.hotrod.ClientListenerRegistry.addClientListener(ClientListenerRegistry.java:182) 4: at org.infinispan.server.hotrod.ContextHandler.realRead(ContextHandler.java:154) 4: at org.infinispan.server.hotrod.ContextHandler.lambda$channelRead0$1(ContextHandler.java:57) 4: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 4: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 4: at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:144) 4: at java.lang.Thread.run(Thread.java:745)
A test coming soon.
- is related to
-
HRCPP-452 C++ Feature list for 8.3
- Closed