Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-3695

Atomic Object Factory

    XMLWordPrintable

Details

    Description

      This feature implements a factory of atomic objects. The factory is universal in the sense that it can instanciate an object of any class. Below, we illusrate the usage of such a factory.

      AtomicObjectFactory factory = new AtomicObjectFactory(c1); // c1 is both synchronous and transactional
      Set set = (Set) factory.getOrCreateInstanceOf(HashSet.class, "k"); // k is the key to store set inside c1
      set.add("smthing"); // some call examples
      System.out.println(set.toString())
      set.addAll(set);
      factory.disposeInstanceOf(HashSet.class, "set", true); // to store in a persistent way the object

      The implementation requires that all the arguments of the methods of the object are Serializable, as well as the object itself. The factory is built on top of the transactional facility of Infinispan. When an object is created, it stores both a local copy and a proxy registered as a cache listener. Then, it serializes every call in a transaction consisting of a single put operation. When the call is de-serialized its applied to the local copy and, in case the calling process was local, the resoibse value is returned to the caller.

      Attachments

        Activity

          People

            ttarrant@redhat.com Tristan Tarrant
            otrack Pierre Sutra (Inactive)
            Pierre Sutra Pierre Sutra (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - 1 week, 2 days
                1w 2d
                Remaining:
                Remaining Estimate - 1 week, 2 days
                1w 2d
                Logged:
                Time Spent - Not Specified
                Not Specified