<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Dec 19, 2013 at 8:43 PM, Emmanuel Bernard <span dir="ltr">&lt;<a href="mailto:emmanuel@hibernate.org" target="_blank">emmanuel@hibernate.org</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class=""><div class="h5">On Thu 2013-12-19 19:57, Dan Berindei wrote:<br>
&gt; On Thu, Dec 19, 2013 at 2:15 PM, Emmanuel Bernard &lt;<a href="mailto:emmanuel@hibernate.org">emmanuel@hibernate.org</a>&gt;wrote:<br>
&gt;<br>
&gt; &gt; On Thu 2013-12-19  9:46, Galder Zamarreņo wrote:<br>
&gt; &gt; &gt; &gt; == Example of continuous query atop remote listeners<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; Thinking about how to implement continuous query atop this<br>
&gt; &gt; &gt; &gt; infrastructure I am missing a few things.<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; The primary problem is that I don&#39;t want to enlist a filter id per<br>
&gt; &gt; &gt; &gt; continuous query I want to run. Not only that but I&#39;d love to be able<br>
&gt; &gt; to<br>
&gt; &gt; &gt; &gt; add a continuous query on the fly and disable it on the fly as well per<br>
&gt; &gt; &gt; &gt; client. For that filters and converters are not flexible enough.<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; What is missing is the ability to pass parameters from the client to<br>
&gt; &gt; &gt; &gt; the remote filter and remote converter. Parameters should be provided<br>
&gt; &gt; &gt; &gt; *per client*. Say Client 1 register the continuous query listener with<br>
&gt; &gt; &gt; &gt; &quot;where age &gt; 19&quot; and client 2 registers the CQ listener with &quot;where<br>
&gt; &gt; name<br>
&gt; &gt; &gt; &gt; = emmanuel&quot;. The filter knowing for which client it filters, it will<br>
&gt; &gt; be able to only<br>
&gt; &gt; &gt; &gt; return the keys that match the query.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; This all sounds a bit like remote code exectution to me? You&#39;re asking<br>
&gt; &gt; for the client to pass some kind of executable thing that acts as a filter.<br>
&gt; &gt; That&#39;s a separate feature IMO, which I believe @Tristan is looking into.<br>
&gt; &gt; Once that&#39;s in place, I&#39;m happy to enhance stuff in the remote event side<br>
&gt; &gt; to support it.<br>
&gt; &gt;<br>
&gt; &gt; I don&#39;t think you are correct.<br>
&gt; &gt; This is not remote execution in the sense of arbitrary code driven by<br>
&gt; &gt; the client. Remote execution will likely be triggered, render a<br>
&gt; &gt; result and stop. It will not send matching events in a continuous fashion.<br>
&gt; &gt; Plus remote execution will likely involve dynamic languages and I&#39;m not<br>
&gt; &gt; sure we want to go that route for things like continuous query.<br>
&gt; &gt;<br>
&gt;<br>
&gt; To be clear, this is exactly the same as the filter parameters that Radim<br>
&gt; was asking for, right? From Infinispan&#39;s point of view, the filter just<br>
&gt; takes a String parameter, and the fact that that string can be parsed by<br>
&gt; the filter in a particular language is irrelevant.<br>
<br>
</div></div>Not sure what string you are talking about. The filterid?<br>
<div class=""><div class="h5"><br></div></div></blockquote><div><br>I was referring to the condition string: &quot;where age &gt; 19&quot;, or &quot;where name<br>
= emmanuel&quot;.<br></div></div><br></div></div>