Skip to content

Commit

Permalink
Move page about Narayana under integration patterns section
Browse files Browse the repository at this point in the history
  • Loading branch information
Martijn Dirkse committed Sep 25, 2024
1 parent 231457e commit d850426
Show file tree
Hide file tree
Showing 4 changed files with 5 additions and 5 deletions.
1 change: 0 additions & 1 deletion docs/source/advancedDevelopment/advancedDevelopment.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,5 @@ Chapter :ref:`gettingStarted` provides the basics of Frank development. This cha
database/database
dockerDevel/dockerDevel
integrationPatterns/integrationPatterns
narayana/narayana
deployment/maven
muchData/muchData
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Error Store and XA Transactions

This section shows how to implement the Fire and Forget integration pattern using an error storage and a queue. As a starting point, the application created in section :ref:`advancedDevelopmentIntegrationPatternsTransactions` is taken. It is :download:`available for download <../../downloads/advancedDevelopmentDockerDevelPreJms.zip>`.

Section :ref:`advancedDevelopmentDockerDevelJms` explains how the development environment, files ``docker-compose.yml`` and ``resources.yml``, should be updated to have a queue that can be referenced by Frank configurations. These updates also show that another database driver is needed for PostgreSQL databases that have to support XA transactions. As said, XA transactions are transactions that span multiple data-processing systems, in our case a queue and a database. XA transactions are implemented by the *two phase commit protocol*, see https://en.wikipedia.org/wiki/Two-phase_commit_protocol. This protocol requires a coordinator that drives the data-processing systems. The Frank!Framework uses the Narayana transaction manager for this, which is enabled by setting system property ``transactionmanager.type.default`` to the value ``NARAYANA``.
Section :ref:`advancedDevelopmentDockerDevelJms` explains how the development environment, files ``docker-compose.yml`` and ``resources.yml``, should be updated to have a queue that can be referenced by Frank configurations. These updates also show that another database driver is needed for PostgreSQL databases that have to support XA transactions. As said, XA transactions are transactions that span multiple data-processing systems, in our case a queue and a database. XA transactions are implemented by the *two phase commit protocol*, see https://en.wikipedia.org/wiki/Two-phase_commit_protocol. This protocol requires a coordinator that drives the data-processing systems. The Frank!Framework uses the Narayana transaction manager for this, which is enabled by setting system property ``transactionmanager.type.default`` to the value ``NARAYANA``. The behavior of the Narayana transaction manager can be fine-tuned by setting properties, see section :ref:`advancedDevelopmentIntegrationPatternsNarayana`.

With the development environment in place, it can be shown how our example configuration can be updated to have the Fire and Forget integration pattern. The changes are shown below:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,5 @@ This section introduces concepts and features of the Frank!Framework to implemen
onlyOnce
transactions
fireAndForget
errorStoreAndXaTransactions
errorStoreAndXaTransactions
narayana
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
.. _advancedDevelopmentNarayana:

LIVING DOCUMENT

.. _advancedDevelopmentIntegrationPatternsNarayana:

Narayana TransactionManager
===========================

Expand Down

0 comments on commit d850426

Please sign in to comment.