diff --git a/deployment/src/main/java/io/quarkiverse/ironjacamar/deployment/IronJacamarProcessor.java b/deployment/src/main/java/io/quarkiverse/ironjacamar/deployment/IronJacamarProcessor.java index a2a3f81..9936af7 100644 --- a/deployment/src/main/java/io/quarkiverse/ironjacamar/deployment/IronJacamarProcessor.java +++ b/deployment/src/main/java/io/quarkiverse/ironjacamar/deployment/IronJacamarProcessor.java @@ -238,9 +238,10 @@ void registerSyntheticBeans( @BuildStep @Record(value = ExecutionTime.STATIC_INIT) - void initDefaultBootstrapContext(BeanContainerBuildItem beanContainerBuildItem, IronJacamarRecorder recorder) { + void initDefaultBootstrapContext(BeanContainerBuildItem beanContainerBuildItem, IronJacamarRecorder recorder, + IronJacamarBuildtimeConfig config) { // Create the default bootstrap context - recorder.initDefaultBootstrapContext(beanContainerBuildItem.getValue()); + recorder.initDefaultBootstrapContext(beanContainerBuildItem.getValue(), config.xaTerminatorEnabled()); } @BuildStep diff --git a/docs/modules/ROOT/pages/includes/quarkus-ironjacamar.adoc b/docs/modules/ROOT/pages/includes/quarkus-ironjacamar.adoc index 81cc1d5..0fe75ad 100644 --- a/docs/modules/ROOT/pages/includes/quarkus-ironjacamar.adoc +++ b/docs/modules/ROOT/pages/includes/quarkus-ironjacamar.adoc @@ -29,6 +29,25 @@ endif::add-copy-button-to-env-var[] |`false` +a|icon:lock[title=Fixed at build time] [[quarkus-ironjacamar_quarkus.ironjacamar.xa-terminator.enabled]]`link:#quarkus-ironjacamar_quarkus.ironjacamar.xa-terminator.enabled[quarkus.ironjacamar.xa-terminator.enabled]` + + +[.description] +-- +Where IronJacamar set XATerminator in BootstrapContext. + +This is a global setting and is not specific to a resource adapter. + +ifdef::add-copy-button-to-env-var[] +Environment variable: env_var_with_copy_button:+++QUARKUS_IRONJACAMAR_XA_TERMINATOR_ENABLED+++[] +endif::add-copy-button-to-env-var[] +ifndef::add-copy-button-to-env-var[] +Environment variable: `+++QUARKUS_IRONJACAMAR_XA_TERMINATOR_ENABLED+++` +endif::add-copy-button-to-env-var[] +--|boolean +|`true` + + a|icon:lock[title=Fixed at build time] [[quarkus-ironjacamar_quarkus.ironjacamar.ra.kind]]`link:#quarkus-ironjacamar_quarkus.ironjacamar.ra.kind[quarkus.ironjacamar.ra.kind]` `link:#quarkus-ironjacamar_quarkus.ironjacamar.ra.kind[quarkus.ironjacamar."resource-adapter-name".ra.kind]` diff --git a/runtime/src/main/java/io/quarkiverse/ironjacamar/runtime/IronJacamarBuildtimeConfig.java b/runtime/src/main/java/io/quarkiverse/ironjacamar/runtime/IronJacamarBuildtimeConfig.java index d894d30..a06acf9 100644 --- a/runtime/src/main/java/io/quarkiverse/ironjacamar/runtime/IronJacamarBuildtimeConfig.java +++ b/runtime/src/main/java/io/quarkiverse/ironjacamar/runtime/IronJacamarBuildtimeConfig.java @@ -29,6 +29,16 @@ public interface IronJacamarBuildtimeConfig { @WithDefault("false") boolean metricsEnabled(); + /** + * Where IronJacamar set XATerminator in BootstrapContext. + *
+ * This is a global setting and is not specific to a resource adapter. + *
+ */
+ @WithName("xa-terminator.enabled")
+ @WithDefault("true")
+ boolean xaTerminatorEnabled();
+
/**
* Resource Adapters
*/
diff --git a/runtime/src/main/java/io/quarkiverse/ironjacamar/runtime/IronJacamarRecorder.java b/runtime/src/main/java/io/quarkiverse/ironjacamar/runtime/IronJacamarRecorder.java
index e24a1ed..5927b45 100644
--- a/runtime/src/main/java/io/quarkiverse/ironjacamar/runtime/IronJacamarRecorder.java
+++ b/runtime/src/main/java/io/quarkiverse/ironjacamar/runtime/IronJacamarRecorder.java
@@ -68,7 +68,7 @@ public Function