diff --git a/spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc b/spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc index 8509ab7764..62b61512cd 100644 --- a/spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc +++ b/spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc @@ -4152,7 +4152,7 @@ property with a different value for each instance of your application. [[boot-features-jta-bitronix]] === Using a Bitronix transaction manager -Bitronix is another popular open source JTA transaction manager implementation. You can +Bitronix is popular open source JTA transaction manager implementation. You can use the `spring-boot-starter-jta-bitronix` starter POM to add the appropriate Bitronix dependencies to your project. As with Atomikos, Spring Boot will automatically configure Bitronix and post-process your beans to ensure that startup and shutdown ordering is @@ -4174,6 +4174,30 @@ property with a different value for each instance of your application. +[[boot-features-jta-narayana]] +=== Using a Narayana transaction manager +Narayana is popular open source JTA transaction manager implementation supported by JBoss. +You can use the `spring-boot-starter-jta-narayana` starter POM to add the appropriate +Narayana dependencies to your project. As with Atomikos and Bitronix, Spring Boot will +automatically configure Narayana and post-process your beans to ensure that startup and +shutdown ordering is correct. + +By default Narayana transaction logs will be written to a `transaction-logs` directory in +your application home directory (the directory in which your application jar file +resides). You can customize this directory by setting a `spring.jta.log-dir` property in +your `application.properties` file. Properties starting `spring.jta.narayana.properties` +can also be used to customize the Narayana configuration. See the +{dc-spring-boot}/jta/narayana/NarayanaProperties.{dc-ext}[`NarayanaProperties` Javadoc] +for complete details. + +NOTE: To ensure that multiple transaction managers can safely coordinate the same +resource managers, each Narayana instance must be configured with a unique ID. By default +this ID is set to `1`. To ensure uniqueness in production, you should configure the +`spring.jta.transaction-manager-id` property with a different value for each instance of +your application. + + + [[boot-features-jta-javaee]] === Using a Java EE managed transaction manager If you are packaging your Spring Boot application as a `war` or `ear` file and deploying