Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time



The repository contains a set of quickstart projects which provide working example for specific Narayana transaction manager capabilities. The quickstarts can be used as a reference for your own project.

The list of all available quickstart can be found down at this page. Each quickstart is categorized with tags that depict areas the quickstart is connected with.


WildFly quickstarts contain some more examples how to work with transactions in the Java EE environment. See repository: wildfly/quickstart. The quickstarts particularly connected to transaction managements are: jta-crash-rec, jts-distributed-crash-rec, jts.

List of quickstarts

Project name Description Maven coordinates Tags
ArjunaCore/txoj Showing how to use the Transactional Object for Java (TXOJ) which is the core implementation concept of the Narayana state machine o.j.n.quickstart.arjunacore :txoj arjuna.core, standalone
ArjunaJTA/maven Minimalistic maven project showing how to configure maven to use the Narayana JTA implementation o.j.n.quickstart.jta :maven jta, standalone
ArjunaJTA/javax_transaction basics on using JTA API in your application, you can check how to obtain the UserTransaction and TransactionManager with use of the Narayana API o.j.n.quickstart.jta :javax_transaction jta, standalone
ArjunaJTA/jee_transactional_app WildFly application which shows use of the transaction management in EJB when invoked from CDI bean o.j.n.quickstart.jta: jee_transactional_app jta, wildfly
ArjunaJTA/object_store How to configure Narayana to run different types of object stores in standalone mode org.jboss.narayana.quickstart.jta: object_store jta, narayana.configuration, standalone
ArjunaJTA/recovery Example of running periodic recovery in Narayana standalone. The setup shows multiple implementation of the recovery storage for could be configured by user. o.j.n.quickstart.jta: recovery jta, narayana.configuration, standalone
ArjunaJTS/interop Transactional EJB calls between GlassFish and WildFly o.j.n.quickstart.jts :jts-interop-quickstart jts,wildfly,glassfish
ArjunaJTS/jts Demonstration of setting up JTS transactions in WildFly and how to use EJB2 beans to pass the transactional context over the remote IIOP call o.j.n.quickstart.jts :jboss-as-jts-parent jts,wildfly
ArjunaJTS/recovery Setting up the Narayana recovery manager for JTS in standalone mode o.j.n.quickstart.jts :jts-recovery jts, narayana.configuration, standalone
ArjunaJTS/standalone Example of using Narayana JTS and in second part the example of using ORB API to manage remote JTS transaction manager with IIOP calls o.j.n.quickstart.jts :jts-standalone jts, iiop, standalone
atsintegration How to integrate Narayana with and arbitrary Java EE application server o.j.n.quickstart.jta :application-server-integration narayana.configuration
agroal How to integrate Narayana with Agroal jdbc pooling library o.j.n.quickstart.jta :agroal jta, standalone, jdbc
jta-1_2-standalone How to integrate Narayana with Weld o.j.n.quickstart.jta :jta-1_2-standalone standalone, cdi
jta-1_2-in-wildfly How to use transactions with CDI in WildFly o.j.n.quickstart.jta :jta-1_2-in-wildfly standalone, cdi
jta-and-hibernate-standalone Using Narayana to manage transactions when JPA and CDI is used o.j.n.quickstart.jta :jta-and-hibernate-standalone standalone, cdi

Quickstart categorization

Category List of quickstarts
arjuna.core ArjunaCore/txoj
narayana.configuration ArjunaJTA/object_store, ArjunaJTA/recovery, ArjunaJTS/recovery, atsintegration
jta ArjunaJTA/maven, ArjunaJTA/javax_transaction, ArjunaJTA/jee_transactional_app, ArjunaJTA/object_store, ArjunaJTA/recovery, agroal
jts ArjunaJTS/interop, ArjunaJTS/jts, ArjunaJTS/recovery, ArjunaJTS/standalone
standalone ArjunaCore/txoj, ArjunaJTA/maven, ArjunaJTA/javax_transaction, ArjunaJTA/object_store, ArjunaJTA/recovery, ArjunaJTS/recovery, ArjunaJTS/standalone, agroal, jta-1_2-standalone, jta-and-hibernate-standalone
wildfly ArjunaJTA/jee_transactional_app,ArjunaJTS/interop, ArjunaJTS/jts, jta-1_2-in-wildfly
glassfish ArjunaJTS/interop
iiop ArjunaJTS/standalone
jdbc agroal
cdi jta-1_2-standalone, jta-1_2-in-wildfly, jta-and-hibernate-standalone

Tags definition

Contacting us

We are always happy to talk transactions and how-to use Narayana in exotic and not so exotic environments. If you have ideas for what we can add to the quickstarts to make them more useful please do reach out to us at:

Quickstarts in CI environment

If you want to see how we run the quickstarts in our continuous integration environment, take a look at scripts/hudson/

Running a single quickstart

Change directory into the required quickstart and follow the instructions in the file.

Running all quickstarts in a single command

To run the quickstarts:

  1. set WORKSPACE (to the root directory where the quickstart repository was cloned)
  2. set JBOSSAS_IP_ADDR (default is localhost)
  3. set JBOSS_HOME (to the path of WildFly server, you can download the server at
  4. mvn clean install

NOTE: As the scope of Narayana quickstart is broad - it shows integration with many platform – you need to expect a big amount of data to be downloaded from Maven repository.

NOTE: If you want to prepare the quickstarts by installing them without running any test then run the mvn clean install -DskipTests

NOTE: If you want to run the quickstart with specific Narayana version you can use command line option -Dversion.narayana=...