So if that's all what is needed for transactions to work properly, can't you just add the commands before 5.1?
On 15 Jul 2011 12:53, "Mircea Markus" <
mircea.markus@jboss.com> wrote:
> Hi,
>
> As there is a high community demand for having these operations in place, and most of these are targeted for post 5.1 releases, I thought about a workaround for having this functionality in place.
> I hijacked Hotrod's put operation and added a custom interceptor, so that if a certain object is being "put" into remote cache, the server side interceptor jumps in and runs transactions.
> This doesn't look too bad for the user, e.g. for supporting transactions:
>
> RemoteCache rc = getRemoteCache();//from somewhere...
>
> //this is what we'll use for running remote transactions over hotrod
> BatchEnabledRemoteCache berc = new BatchEnabledRemoteCache(rc);
>
> berc.startBatch(); //everything from here to endBatch call is a single transaction
> berc.put("k", "v1");
> berc.put("k2", "v2");
> berc.put("k3", "v3");
> berc.endBatch(true); // all or nothing!
>
>
> Of course this won't work with other clients than the java client, but I think most of our users are using that one ATM.
> Currently there's only support for transactions but this approach (and the code) can be easily extended to mapreduce and querying.
> I added s short description on how this can be used [1], also the source code is available here[2].
>
> What do you think about it? Is it worth suggesting to the users this approach(and possibly the code as well)?
>
> Cheers,
> Mircea
>
> [1]
https://github.com/mmarkus/ops_over_hotrod/wiki/Usage-guide> [2]
https://github.com/mmarkus/ops_over_hotrod