Skip to content

Commit b84ed60

Browse files
committed
Sync documentation of main branch
1 parent fa86b16 commit b84ed60

File tree

6 files changed

+13
-168
lines changed

6 files changed

+13
-168
lines changed

_generated-doc/main/config/quarkus-all-config.adoc

Lines changed: 5 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -4540,22 +4540,22 @@ endif::add-copy-button-to-env-var[]
45404540
|boolean
45414541
|`false`
45424542

4543-
a|icon:lock[title=Fixed at build time] [[quarkus-core_quarkus-bootstrap-incubating-model-resolver]] [.property-path]##link:#quarkus-core_quarkus-bootstrap-incubating-model-resolver[`quarkus.bootstrap.incubating-model-resolver`]##
4543+
a|icon:lock[title=Fixed at build time] [[quarkus-core_quarkus-bootstrap-legacy-model-resolver]] [.property-path]##link:#quarkus-core_quarkus-bootstrap-legacy-model-resolver[`quarkus.bootstrap.legacy-model-resolver`]##
45444544
ifdef::add-copy-button-to-config-props[]
4545-
config_property_copy_button:+++quarkus.bootstrap.incubating-model-resolver+++[]
4545+
config_property_copy_button:+++quarkus.bootstrap.legacy-model-resolver+++[]
45464546
endif::add-copy-button-to-config-props[]
45474547

45484548

45494549
[.description]
45504550
--
4551-
A temporary option introduced to avoid a logging warning when `-Dquarkus.bootstrap.incubating-model-resolver` is added to the build command line. This option enables an incubating implementation of the Quarkus Application Model resolver. This option will be removed as soon as the incubating implementation becomes the default one.
4551+
A temporary option introduced to avoid a logging warning when `-Dquarkus.bootstrap.legacy-model-resolver` is added to the build command line. This option enables the legacy implementation of the Quarkus Application Model resolver. This option will be removed once the legacy `ApplicationModel` resolver implementation gets removed.
45524552

45534553

45544554
ifdef::add-copy-button-to-env-var[]
4555-
Environment variable: env_var_with_copy_button:+++QUARKUS_BOOTSTRAP_INCUBATING_MODEL_RESOLVER+++[]
4555+
Environment variable: env_var_with_copy_button:+++QUARKUS_BOOTSTRAP_LEGACY_MODEL_RESOLVER+++[]
45564556
endif::add-copy-button-to-env-var[]
45574557
ifndef::add-copy-button-to-env-var[]
4558-
Environment variable: `+++QUARKUS_BOOTSTRAP_INCUBATING_MODEL_RESOLVER+++`
4558+
Environment variable: `+++QUARKUS_BOOTSTRAP_LEGACY_MODEL_RESOLVER+++`
45594559
endif::add-copy-button-to-env-var[]
45604560
--
45614561
|boolean
@@ -61541,27 +61541,6 @@ endif::add-copy-button-to-env-var[]
6154161541
|boolean
6154261542
|`true`
6154361543

61544-
a|icon:lock[title=Fixed at build time] [[quarkus-messaging_quarkus-messaging-request-scoped-enabled]] [.property-path]##link:#quarkus-messaging_quarkus-messaging-request-scoped-enabled[`quarkus.messaging.request-scoped.enabled`]##
61545-
ifdef::add-copy-button-to-config-props[]
61546-
config_property_copy_button:+++quarkus.messaging.request-scoped.enabled+++[]
61547-
endif::add-copy-button-to-config-props[]
61548-
61549-
61550-
[.description]
61551-
--
61552-
Whether to enable the RequestScope context on a message context
61553-
61554-
61555-
ifdef::add-copy-button-to-env-var[]
61556-
Environment variable: env_var_with_copy_button:+++QUARKUS_MESSAGING_REQUEST_SCOPED_ENABLED+++[]
61557-
endif::add-copy-button-to-env-var[]
61558-
ifndef::add-copy-button-to-env-var[]
61559-
Environment variable: `+++QUARKUS_MESSAGING_REQUEST_SCOPED_ENABLED+++`
61560-
endif::add-copy-button-to-env-var[]
61561-
--
61562-
|boolean
61563-
|`false`
61564-
6156561544
a|icon:lock[title=Fixed at build time] [[quarkus-messaging_quarkus-messaging-metrics-enabled]] [.property-path]##link:#quarkus-messaging_quarkus-messaging-metrics-enabled[`quarkus.messaging.metrics.enabled`]##
6156661545
ifdef::add-copy-button-to-config-props[]
6156761546
config_property_copy_button:+++quarkus.messaging.metrics.enabled+++[]

_generated-doc/main/config/quarkus-core_quarkus.bootstrap.adoc

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -91,22 +91,22 @@ endif::add-copy-button-to-env-var[]
9191
|boolean
9292
|`false`
9393

94-
a|icon:lock[title=Fixed at build time] [[quarkus-core_quarkus-bootstrap-incubating-model-resolver]] [.property-path]##link:#quarkus-core_quarkus-bootstrap-incubating-model-resolver[`quarkus.bootstrap.incubating-model-resolver`]##
94+
a|icon:lock[title=Fixed at build time] [[quarkus-core_quarkus-bootstrap-legacy-model-resolver]] [.property-path]##link:#quarkus-core_quarkus-bootstrap-legacy-model-resolver[`quarkus.bootstrap.legacy-model-resolver`]##
9595
ifdef::add-copy-button-to-config-props[]
96-
config_property_copy_button:+++quarkus.bootstrap.incubating-model-resolver+++[]
96+
config_property_copy_button:+++quarkus.bootstrap.legacy-model-resolver+++[]
9797
endif::add-copy-button-to-config-props[]
9898

9999

100100
[.description]
101101
--
102-
A temporary option introduced to avoid a logging warning when `-Dquarkus.bootstrap.incubating-model-resolver` is added to the build command line. This option enables an incubating implementation of the Quarkus Application Model resolver. This option will be removed as soon as the incubating implementation becomes the default one.
102+
A temporary option introduced to avoid a logging warning when `-Dquarkus.bootstrap.legacy-model-resolver` is added to the build command line. This option enables the legacy implementation of the Quarkus Application Model resolver. This option will be removed once the legacy `ApplicationModel` resolver implementation gets removed.
103103

104104

105105
ifdef::add-copy-button-to-env-var[]
106-
Environment variable: env_var_with_copy_button:+++QUARKUS_BOOTSTRAP_INCUBATING_MODEL_RESOLVER+++[]
106+
Environment variable: env_var_with_copy_button:+++QUARKUS_BOOTSTRAP_LEGACY_MODEL_RESOLVER+++[]
107107
endif::add-copy-button-to-env-var[]
108108
ifndef::add-copy-button-to-env-var[]
109-
Environment variable: `+++QUARKUS_BOOTSTRAP_INCUBATING_MODEL_RESOLVER+++`
109+
Environment variable: `+++QUARKUS_BOOTSTRAP_LEGACY_MODEL_RESOLVER+++`
110110
endif::add-copy-button-to-env-var[]
111111
--
112112
|boolean

_generated-doc/main/config/quarkus-messaging.adoc

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -49,27 +49,6 @@ endif::add-copy-button-to-env-var[]
4949
|boolean
5050
|`true`
5151

52-
a|icon:lock[title=Fixed at build time] [[quarkus-messaging_quarkus-messaging-request-scoped-enabled]] [.property-path]##link:#quarkus-messaging_quarkus-messaging-request-scoped-enabled[`quarkus.messaging.request-scoped.enabled`]##
53-
ifdef::add-copy-button-to-config-props[]
54-
config_property_copy_button:+++quarkus.messaging.request-scoped.enabled+++[]
55-
endif::add-copy-button-to-config-props[]
56-
57-
58-
[.description]
59-
--
60-
Whether to enable the RequestScope context on a message context
61-
62-
63-
ifdef::add-copy-button-to-env-var[]
64-
Environment variable: env_var_with_copy_button:+++QUARKUS_MESSAGING_REQUEST_SCOPED_ENABLED+++[]
65-
endif::add-copy-button-to-env-var[]
66-
ifndef::add-copy-button-to-env-var[]
67-
Environment variable: `+++QUARKUS_MESSAGING_REQUEST_SCOPED_ENABLED+++`
68-
endif::add-copy-button-to-env-var[]
69-
--
70-
|boolean
71-
|`false`
72-
7352
a|icon:lock[title=Fixed at build time] [[quarkus-messaging_quarkus-messaging-metrics-enabled]] [.property-path]##link:#quarkus-messaging_quarkus-messaging-metrics-enabled[`quarkus.messaging.metrics.enabled`]##
7453
ifdef::add-copy-button-to-config-props[]
7554
config_property_copy_button:+++quarkus.messaging.metrics.enabled+++[]

_generated-doc/main/config/quarkus-messaging_quarkus.messaging.adoc

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -49,27 +49,6 @@ endif::add-copy-button-to-env-var[]
4949
|boolean
5050
|`true`
5151

52-
a|icon:lock[title=Fixed at build time] [[quarkus-messaging_quarkus-messaging-request-scoped-enabled]] [.property-path]##link:#quarkus-messaging_quarkus-messaging-request-scoped-enabled[`quarkus.messaging.request-scoped.enabled`]##
53-
ifdef::add-copy-button-to-config-props[]
54-
config_property_copy_button:+++quarkus.messaging.request-scoped.enabled+++[]
55-
endif::add-copy-button-to-config-props[]
56-
57-
58-
[.description]
59-
--
60-
Whether to enable the RequestScope context on a message context
61-
62-
63-
ifdef::add-copy-button-to-env-var[]
64-
Environment variable: env_var_with_copy_button:+++QUARKUS_MESSAGING_REQUEST_SCOPED_ENABLED+++[]
65-
endif::add-copy-button-to-env-var[]
66-
ifndef::add-copy-button-to-env-var[]
67-
Environment variable: `+++QUARKUS_MESSAGING_REQUEST_SCOPED_ENABLED+++`
68-
endif::add-copy-button-to-env-var[]
69-
--
70-
|boolean
71-
|`false`
72-
7352
a|icon:lock[title=Fixed at build time] [[quarkus-messaging_quarkus-messaging-metrics-enabled]] [.property-path]##link:#quarkus-messaging_quarkus-messaging-metrics-enabled[`quarkus.messaging.metrics.enabled`]##
7453
ifdef::add-copy-button-to-config-props[]
7554
config_property_copy_button:+++quarkus.messaging.metrics.enabled+++[]

_versions/main/guides/maven-tooling.adoc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1057,6 +1057,9 @@ Here is a list of system properties the Quarkus bootstrap Maven resolver checks
10571057
| `false`
10581058
| By default, the Quarkus Maven resolver is reading project's POMs directly when discovering the project's layout. While in most cases it works well enough and relatively fast, reading raw POMs has its limitation. E.g. if a POM includes modules in a profile, these modules will not be discovered. This system property enables project's layout discovery based on the effective POM models, that are properly interpolated, instead of the raw ones. The reason this option is not enabled by default is it may appear to be significantly more time-consuming that could increase, e.g. CI testing times. Until there is a better approach found that could be used by default, projects that require it should enable this option.
10591059

1060+
| `quarkus.bootstrap.legacy-model-resolver`
1061+
| `false`
1062+
| This *system* or *POM* property can be used to enable the legacy `ApplicationModel` resolver implementation. The property was introduced in Quarkus 3.19.0 and will be removed once the legacy implementation is known to be not in demand.
10601063
|===
10611064

10621065
These system properties above could be added to, e.g., a `surefire` and/or `failsafe` plugin configuration as

_versions/main/guides/messaging.adoc

Lines changed: 0 additions & 95 deletions
Original file line numberDiff line numberDiff line change
@@ -562,7 +562,6 @@ public class StreamProcessor {
562562
}
563563
----
564564

565-
[[execution_model]]
566565
== Execution Model
567566

568567
Quarkus Messaging sits on top of the xref:quarkus-reactive-architecture.adoc#engine[reactive engine] of Quarkus and leverages link:{eclipse-vertx}[Eclipse Vert.x] to dispatch messages for processing.
@@ -635,100 +634,6 @@ Depending on the broker technology, this can be useful to increase the applicati
635634
while still preserving the partial order of messages received in different copies.
636635
This is the case, for example, for Kafka, where multiple consumers can consume different topic partitions.
637636

638-
== Context Propagation
639-
640-
In Quarkus Messaging, the default mechanism for propagating context between different processing stages is the
641-
link:https://smallrye.io/smallrye-reactive-messaging/latest/concepts/message-context[message context].
642-
This provides a consistent way to pass context information along with the message as it flows through different stages.
643-
644-
=== Interaction with Mutiny and MicroProfile Context Propagation
645-
646-
Mutiny, which is the foundation of reactive programming in Quarkus, is integrated with the MicroProfile Context Propagation.
647-
This integration enables automatic capturing and restoring of context across asynchronous boundaries.
648-
To learn more about context propagation in Quarkus and Mutiny, refer to the xref:context-propagation.adoc[Context Propagation] guide.
649-
650-
However, Quarkus Messaging needs to coordinate multiple asynchronous boundaries.
651-
This is why the default context propagation can result in unexpected behavior in some cases, especially using `Emitters`.
652-
653-
To ensure consistent behavior, Quarkus Messaging disables the propagation of any context during message dispatching, through internal channels or connectors.
654-
This means that Emitters won't capture the caller context, and incoming channels won't dispatch messages by activating a context (ex. the request context).
655-
656-
For example, you might want to propagate the caller context from an incoming HTTP request to the message processing stage.
657-
For emitters, instead of using the regular `Emitter` or `MutinyEmitter`, you can inject the `ContextualEmitter` to make sure the message captures the caller context.
658-
This ensures consistent and predictable behaviour by relying on the message context handling provided by the framework.
659-
660-
For example, let `RequestScopedBean` a request-scoped bean, `ContextualEmitter` can be used to dispatch messages locally through the internal channel `app`:
661-
662-
[source, java]
663-
----
664-
import jakarta.inject.Inject;
665-
import jakarta.ws.rs.Consumes;
666-
import jakarta.ws.rs.POST;
667-
import jakarta.ws.rs.Path;
668-
import jakarta.ws.rs.core.MediaType;
669-
670-
import org.eclipse.microprofile.reactive.messaging.Channel;
671-
672-
import io.quarkus.logging.Log;
673-
import io.quarkus.smallrye.reactivemessaging.runtime.ContextualEmitter;
674-
import io.smallrye.mutiny.Uni;
675-
import io.vertx.core.Context;
676-
import io.vertx.core.Vertx;
677-
678-
@Path("/")
679-
public class Resource {
680-
681-
@Channel("app")
682-
ContextualEmitter<String> emitter;
683-
684-
@Inject
685-
RequestScopedBean requestScopedBean;
686-
687-
@POST
688-
@Path("/send")
689-
public void send(String message) {
690-
requestScopedBean.setValue("Hello");
691-
emitter.sendAndAwait(message);
692-
}
693-
694-
}
695-
----
696-
697-
Then the request-scoped bean can be accessed in the message processing stage, regardless of the <<execution_model>>:
698-
699-
[source, java]
700-
----
701-
import jakarta.enterprise.context.ApplicationScoped;
702-
import jakarta.inject.Inject;
703-
704-
import org.eclipse.microprofile.reactive.messaging.Incoming;
705-
706-
import io.quarkus.logging.Log;
707-
import io.smallrye.reactive.messaging.annotations.Blocking;
708-
709-
710-
@ApplicationScoped
711-
public class Processor {
712-
713-
@Inject
714-
RequestScopedBean requestScopedBean;
715-
716-
@Incoming("app")
717-
@Blocking
718-
public void process(String message) {
719-
Log.infof("Message %s from request %s", message, requestScopedBean.getValue());
720-
}
721-
722-
}
723-
----
724-
725-
=== Request Context Activation
726-
727-
In some cases, you might need to activate the request context while processing messages consumed from a broker.
728-
While using `@ActivateRequestContext` on the `@Incoming` method is an option, it's lifecycle does not follow that of a Quarkus Messaging message.
729-
For incoming channels, you can enable the request scope activation with the build time property `quarkus.messaging.request-scoped.enabled=true`.
730-
This will activate the request context for each message processed by the incoming channel, and close the context once the message is processed.
731-
732637
== Health Checks
733638

734639
Together with the SmallRye Health extension, Quarkus Messaging extensions provide health check support per channel.

0 commit comments

Comments
 (0)