transaction example

This is a very simple example showing how to use TransactionManager. This example shows how to begin a transaction, commit a transaction, and rollback a transaction while showing exception handling. We commit two keys and rollback adding a third key and destroying an existing key while showing how to handle exceptions.

Prerequisites

  • Install Apache Geode
  • Build and install Apache Geode Native
  • Apache Geode Native examples, built and installed
  • Set GEODE_HOME to the install directory of Apache Geode

Running

  1. From a command shell, set the current directory to the transaction directory in your example workspace.

    $ cd workspace/examples/cpp/transaction
    
  2. Run the startserver script to start the Geode cluster with authentication and create a region.

    For Windows cmd:

    $ powershell.exe -File startserver.ps1
    

    For Windows Powershell:

    $ startserver.ps1
    

    For Bash:

    $ ./startserver.sh
    
  3. Execute cpp-transaction. The output will show the cache and region creation, up to five rolled back transactions, and finally the commit of the transaction if the maximum of five rollback were not executed. For example:

    $ ./cpp-transaction
       Created cache
       Created region 'exampleRegion'
       Rolled back transaction - retrying(4)
       Rolled back transaction - retrying(3)
       Rolled back transaction - retrying(2)
       Committed transaction - exiting
    
    $ ./cpp-transaction
       Created cache
       Created region 'exampleRegion'
       Rolled back transaction - retrying(4)
       Rolled back transaction - retrying(3)
       Rolled back transaction - retrying(2)
       Rolled back transaction - retrying(1)
       Rolled back transaction - retrying(0)       
    
  4. Run the stopserver script to gracefully shutdown the Geode cluster.

    For Windows cmd:

    $ powershell.exe -File stopserver.ps1
    

    For Windows Powershell:

     $ stopserver.ps1
    

    For Bash:

    $ ./stopserver.sh