Java 英菲尼斯潘MVCC,带“;把「;

Java 英菲尼斯潘MVCC,带“;把「;,java,jboss,infinispan,Java,Jboss,Infinispan,我今天想在一种可能不熟悉的事情中使用Infinispan。 我想保存一个变量,让我们在缓存中多次调用它x,同时能够将它作为x进行寻址 普通的,旧的MVCC。然而,infinispan似乎在后端使用MVCC,但我无法在我的小测试应用程序中使用它 这是相应的代码: acTest.put("test", "blubber", 0, TimeUnit.MILLISECONDS ); acTest.put("test", "nothing", 0, TimeUnit.MILLISECOND

我今天想在一种可能不熟悉的事情中使用Infinispan。 我想保存一个变量,让我们在缓存中多次调用它x,同时能够将它作为x进行寻址

普通的,旧的MVCC。然而,infinispan似乎在后端使用MVCC,但我无法在我的小测试应用程序中使用它

这是相应的代码:

    acTest.put("test", "blubber", 0, TimeUnit.MILLISECONDS );
    acTest.put("test", "nothing", 0, TimeUnit.MILLISECONDS );

    if( acTest.containsKey("test") )
    {
        Object foo = acTest.get("test"); // don't know how to get the "blubber" out of that
        String name = (String) test2.get("name");
        System.out.println(name);
    }
果不其然,acTest包含了这个键——但当我提高“nothing”的数值时,我无法处理该键的值“blubber”——foo持有“nothing”。。。但我想得到“foo”的第一个版本,也就是“blubber”

我希望能够处理不同版本的测试。我认为我可以在put操作中使用不同的参数创建不同版本的“test”——但是eclipse绝对没有关于这方面的文档


有人能帮我吗?

Infinispan在其容器中使用MVCC用于内部目的,除了通过writeSkewCheck之外,这目前不是通过用户API公开的功能

在版本5.1中,API将公开乐观锁定,这对于需要利用MVCC功能的某些用例可能很有用,但您仍然无法提取以前的值

您可以使用AtomicMap存储多个值,或者使用包含版本的自定义键对象,在Infinispan的API上构建所需的内容

DeltaAware是另一种选择,但它是面向专家的低级界面