Red Wolf Jacob Bernstein By


Author XAP Version Last Updated Reference Download
Shay Hassidim 7.1 Jan 2011

Red Wolf Jacob Bernstein When writing objects into the space, you may need to generate a global unique ID for your space objects. The ID will be used later to fetch the object based on its ID via the readById/readByIds methods, or associate it with another object by placing the object ID as a field value within another object.

GigaSpaces generates a unique global ID when writing new objects using its built-in internal ID generator utility used when enabling the auto-generate ID property. Still, you may want to have your own custom global unique ID generator.

Tip

You can download the custom Unique Global ID Generator source code used with this example.

The following example includes a custom global unique ID generator PU and a client side utility. The Unique Global ID Generator features the following:

  • Spring based configured.
  • Store the last generated ID within a space object (IdCounterEntry… Id Office To Flickr Go License When Driver You Florida A Example).
  • Provides range of IDs to a client application. This avoids the need to perform read and update space operations with each generated ID.
  • Provides a numeric ID.
  • Support persisting the IdCounterEntry object within a database. This allows the IdCounterEntry object to be loaded from a database in case the Unique Global ID Generator PU is fully re-started.
  • Id Fake New Review Utah
  • Once a Unique Global ID Generator is deployed, a IdObjectInitializer is created and generates the IdCounterEntry object within the Unique Global ID Generator space. Only one IdCounterEntry will be created.

To use the ID Generator you should:

  1. Deploy the ID Generator PU using the pu.xml below. You should deploy it using Red Wolf Jacob Bernstein Red Wolf Jacob Bernstein one partition and a backup.
  2. With your application, inject a SpaceBasedIdGenerator Bean. You should have it with every application instance.
  3. With your client application call the following when you need a unique global ID:
SpaceBasedIdGenerator idGenerator;
Integer myNextID = idGenerator.generateId();

The SpaceBasedIdGenerator using Spring Transactions to update the IdCounterEntry object.

The following should be used to enable the ID Generator:

This is ID Generator pu.xml:

"1.0" encoding="UTF-8"?>
"http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:os-core="http://www.openspaces.org/schema/core"
       xmlns:os-events="http://www.openspaces.org/schema/events"
       xmlns:os-sla="http://www.openspaces.org/schema/sla"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xmlns:os-remoting="http://www.openspaces.org/schema/remoting"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd http://www.openspaces.org/schema/core http://www.openspaces.org/schema/core/openspaces-core.xsd http://www.openspaces.org/schema/events http://www.openspaces.org/schema/events/openspaces-events.xsd http://www.openspaces.org/schema/remoting http://www.openspaces.org/schema/remoting/openspaces-remoting.xsd http://www.openspaces.org/schema/sla http://www.openspaces.org/schema/sla/openspaces-sla.xsd">

    
    package="com.gigaspaces.idgenerator.pu" />
    
    "IDGeneratoSpace" name="IDGeneratorSpace" />
    "transactionManager" space="IDGeneratoSpace" />
    "transactionManager"   />
    "gigaSpace" space="IDGeneratoSpace" tx-manager="transactionManager"   />



    "IdObjectInitializer" class="com.gigaspaces.idgenerator.pu.IdObjectInitializer">
        "initialValue" value="100" />
        "idRange" value="1000" />
    

    "1" max-instances-per-vm="1">
    


Red Wolf Jacob Bernstein By Red Wolf Jacob Bernstein By
A presentation by Jacob Bernstein created with Haiku Deck, free presentation software that is simple, beautiful, and fun.Red Wolf by Jacob Bernstein